2

在我的代码中,我有很多私有变量,但只有几个共享变量。所以我不得不将所有私有变量一一写在私有子句中。default没有帮助,因为它只提供了两个选择:noneshared. 结果,有没有办法将私有设为默认?

4

1 回答 1

2

OpenMP 不提供default(private)C++ 的原因很简单,因为 C++ 已经提供了一种使这些变量私有的机制 - 只需在内部范围内定义它们

#pragma omp parallel
{
   int this_one_is_private;
   double this_on_is_private_too;
   int and_this_one_too;
   double more_privateness;
   ...
}

OpenMP 确实DEFAULT(PRIVATE)适用于 Fortran,因为后者没有在内部范围内定义变量的机制。

于 2012-07-03T14:13:16.960 回答