Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dyrektywy OpenMP "critical" nie można zagnieżdżać w dyrektywie "krytycznej" o tej samej nazwie
Dyrektywy krytycznej nie można zagnieżdżać w critical dyrektywie, która używa tej samej nazwy.
Poniższy przykład generuje kod C3043:
// C3043.cpp
// compile with: /openmp /c
#include "omp.h"
int main() {
int n1 = 1, n2 = 2, n3 = 3;
#pragma omp parallel
{
++n2;
#pragma omp critical(MyTest)
{
++n2;
#pragma omp critical(MyTest) // C3043
// try the following line instead
// #pragma omp critical(MyTest2)
{
++n3;
}
}
}
}