gpt4 book ai didi

c - 调用 gsl_blas_ddot 时出现 gsl gnu 科学库段错误

转载 作者:太空宇宙 更新时间:2023-11-04 07:51:02 24 4
gpt4 key购买 nike

当我编译下面的代码时,gcc 没有报告任何错误:

#include <stdio.h>
#include <gsl/gsl_vector.h>
#include <gsl/gsl_blas.h>


int main (void)
{
int i;

gsl_vector * v = gsl_vector_alloc (3);

for (i = 0; i < 3; i++)
{
gsl_vector_set (v, i, 1);
}


gsl_vector * v2 = gsl_vector_alloc (3);

for (i = 0; i < 3; i++)
{
gsl_vector_set (v2, i, 2);
}


double *result ;

gsl_blas_ddot(v, v2, result) ;


printf("result of dot product is %f\n", *result );

return 0;
}

但是我得到运行时错误:

Segmentation fault (core dumped)

指的是对 gsl_blas_ddot 的调用。我不知道出了什么问题。 v 和 v2 vector 已正确分配。

最佳答案

我不熟悉那个库,但是,发布的源代码有这样的声明:

double *result ;

但是,指针 result 从未设置为指向应用程序拥有的任何内存。

建议改为:

double result;

并修改以下行:

gsl_blas_ddot(v, v2, result) ;

gsl_blas_ddot(v, v2, &result) ; 

关于c - 调用 gsl_blas_ddot 时出现 gsl gnu 科学库段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53818599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com