2

私のコードには、多くのプライベート変数がありますが、共有変数はごくわずかです。そのため、すべてのプライベート変数をプライベート句に 1 つずつ記述する必要がありました。とdefaultの 2 つの選択肢しかないため、役に立ちません。その結果、デフォルトとして非公開にする方法はありますか?noneshared

4

1 に答える 1

2

default(private)OpenMP は、C++ がこれらの変数を非公開にするメカニズムを既に提供しているという単純な理由で、C++ を提供していません。内部スコープでそれらを定義するだけです。

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

DEFAULT(PRIVATE)後者には内部スコープで変数を定義するメカニズムがないため、OpenMP にはFortran があります。

于 2012-07-03T14:13:16.960 に答える