【发布时间】:2012-02-06 15:59:49
【问题描述】:
您好,我有以下代码,我使用带有 -fopenmp 标志的 gcc (>4.2) 编译:
int main(void)
{
#pragma omp parallel for
int i;
for(i=0;i<4;i++) while(1);
return 0;
}
我在 OSX Lion(版本 1.7.3,llvm-gcc 4.2.1)和 CentOS 6.2 上获得了 SIGSEGV。我在这里做错了什么?谢谢
【问题讨论】:
-
我也一样,Win7/cygwin,gcc 4.5.0。我通过 gdb 运行它:它创建线程,然后我得到
Program received signal SIGSEGV, Segmentation fault. 0x63602726 in omp_get_max_active_levels ()。没有while(1),它运行良好。 OpenMP 如何处理这个无限循环? -
您正在使用未声明的变量。但这应该会产生编译错误,而不是段错误。但是在声明了
i后,我也遇到了段错误,gcc-4.5.1,openSuSE 11.4。 -
我忘了添加.. int i.. 我写的代码很匆忙:D.
标签: c segmentation-fault openmp