1

以下片段代码

#pragma omp parallel
printf("%f", 1.0f);

产生一个“浮点异常”。有没有人遇到过这样的事情?

更多细节:

  • 当我尝试打印字符串或整数时没有问题。
  • 如果不使用 OpenMP,则没有问题。
  • 我在 Mac OSX 10.6.8 和 Intel C++ 编译器 12.0.4 上运行它。
  • 除此之外,OpenMP 工作正常。

编码:

#include <stdio.h>
#include <omp.h>

int main()
{
#pragma omp parallel
  printf("%d", 1);
printf("\n...\n");
  fflush(stdout);
#pragma omp parallel
  printf("%f", 2.0);
}

编译:

icpc -o test test.cc -fp-trap-all=all -openmp

产生:

1111
...
Floating point exception
4

0 回答 0