我对 OpenMP 有疑问。MSVS 编译器向我抛出“pragma omp atomic 格式不正确”。我不知道为什么。代码:(程序使用积分法指定 PI 号)
#include <stdio.h>
#include <time.h>
#include <omp.h>
long long num_steps = 1000000000;
double step;
int main(int argc, char* argv[])
{
    clock_t start, stop;
    double x, pi, sum=0.0;
    int i;
    step = 1./(double)num_steps;
    start = clock();
    #pragma omp parallel for
    for (i=0; i<num_steps; i++)
    { 
        x = (i + .5)*step;
        #pragma omp atomic //this part contains error
        sum = sum + 4.0/(1.+ x*x);  
    }
    pi = sum*step;
    stop = clock();
    // some printf to show results
return 0;
}