C语言 OpenMP 无效的控制谓词 - 持久



当尝试使用 gcc 使用 -fopenmp 标志编译 C 代码时,我收到此错误已有>6 小时了。

错误:控制谓词无效 for ( int i = 0; i

我浏览了stackoverflow,并剥离了我的代码,直到它是OpenMP手册中示例的精确副本,但它仍然无法编译。

#include <stdio.h>
#include <math.h>
#ifdef _OPENMP
#include <omp.h>
#endif
int main(int argc, char *argv[]) {
double N; sscanf (argv[1]," %lf", &N);
double integral = 0.0;
#pragma omp parallel for reduction(+: integral)
for ( int i = 0; i < N; i++ )
integral = integral + i;
printf("%20.18lfn", integral);
return 0;
}

任何建议..?

找到了,很抱歉混乱。.

对于所有其他像我这样的 C 新手:错误在双 N 中.OpenMP 希望您的循环运行 op 到 INTEGER N,而不是双精度。

最新更新