如何在c语言中用blas生成标量积

如何在c语言中用blas生成标量积,c,blas,C,Blas,我是BLAS的新手,我试着阅读了有关上述主题的文档。到目前为止,我正在尝试实现一个简单的标量积 double x[] = {1.0, 2.0, 3.0}; double coeff = 4.323; int one = 1; int n = 3; cblas_dscal(n, coeff, x, one); printf("pass"); for (int i = 0; i < n; i++) { printf("%lf" ,x[i]); }

我是BLAS的新手,我试着阅读了有关上述主题的文档。到目前为止,我正在尝试实现一个简单的标量积

double x[] = {1.0, 2.0, 3.0};
double coeff = 4.323;
int one = 1;
int n = 3;
cblas_dscal(n, coeff, x, one);
printf("pass");
for (int i = 0; i < n; i++) {
    printf("%lf" ,x[i]);
}
double x[]={1.0,2.0,3.0};
双系数=4.323;
int-one=1;
int n=3;
cblas_dscal(n,系数,x,一);
printf(“通行证”);
对于(int i=0;i
我使用了cblas.h的标题。使用命令gcc-o exec code.c-lblas编译时 我没有收到任何错误。当我启动可执行文件时,没有任何东西出现,甚至“pass”也没有,这是有问题的。有人能给我一些如何救我的建议吗

ps:如果这个问题没有很好地表达出来,我真的很抱歉。这是我关于stackoverflow的第一个问题,所以如果你对如何更好地表达我的问题有任何建议,我将不胜感激:)

当我启动可执行文件时,没有任何东西出现,甚至“pass”也没有,这是有问题的

在调用
printf
后使用
fflush(stdout)
(或使用
fprintf(stdout,…)
而不是
printf

有时,程序在能够将打印缓冲区刷新到标准输出之前可能会崩溃。使用
fflush
fprintf
将在打印后直接强制刷新,这对于调试此类问题非常有用(当您不想使用完整的调试器时)

当我启动可执行文件时,没有任何东西出现,甚至“pass”也没有,这是有问题的

在调用
printf
后使用
fflush(stdout)
(或使用
fprintf(stdout,…)
而不是
printf


有时,程序在能够将打印缓冲区刷新到标准输出之前可能会崩溃。使用
fflush
fprintf
将在打印后直接强制刷新,这对于调试此类问题很有用(当您不想使用完整的调试器时)。

阅读有关调试代码的提示。如果你仍然需要帮助,你的问题应该包括一个我们可以自己复制和运行的代码。代码在我看来很好。。。尝试:
printf(“通过”)-->
printf(“pass\n”)仍然没有输出?有关调试代码的提示,请阅读。如果你仍然需要帮助,你的问题应该包括一个我们可以自己复制和运行的代码。代码在我看来很好。。。尝试:
printf(“通过”)-->
printf(“pass\n”)仍然没有输出?我试过了,但它仍然没有打印出“pass”字符串。在
cblas\u dscal
调用之前放置另一个print语句。如果出现这种情况,那么您的blas调用就有点不可靠了。啊,我刚刚了解到,在我的代码之前,我忘记了更新while循环中的变量;-;。非常感谢你的帮助!对不起,打扰你了,但是你知道blas电话中的“一”是什么意思吗?哈哈,我想你自己可以处理这个问题!在您发布的示例代码中,查看
blas
调用上方的两行。我试过了,但它仍然没有打印出“pass”字符串。在
cblas\u dscal
调用之前放置另一个print语句。如果出现这种情况,那么您的blas调用就有点不可靠了。啊,我刚刚了解到,在我的代码之前,我忘记了更新while循环中的变量;-;。非常感谢你的帮助!对不起,打扰你了,但是你知道blas电话中的“一”是什么意思吗?哈哈,我想你自己可以处理这个问题!查看您发布的示例代码中
blas
调用上方的两行。