openMP VS2017不起作用

问题描述 投票:1回答:1

当我尝试在我的VS 2017 c ++程序中使用openMP时,我会去

属性 - > C / C ++ - >允许OpenMP(或类似的东西):是的。

但是,我去了我的主要,只写:

void main(){
   #pragma omp parallel for
   for (int n = 0; n<10; ++n)
   {
        printf(" %d", n);
   }
   printf(".\n");
 }

如在示例中找到here

预期结果是(在该示例中):0 5 6 7 1 8 2 3 4 9.意味着使用并行性。在我的情况下,它每次打印0 1 2 3 4 5 6 7 8 9.(即使我使用#pragma omp parallel num_threads(8))意味着没有使用并行性。有什么我想念的吗?

c++ openmp
1个回答
1
投票

领先的支架{不能在#pragma omp parallel线上,这是一个预处理器指令。使用

#pragma omp parallel
{
   std::cout << "Hello World\n";
}

代替。


请注意,如果没有此语法,在没有OpenMP支持的情况下编译时程序将无效(忽略#pragma omp指令)。

© www.soinside.com 2019 - 2024. All rights reserved.