C语言并行计算-OMP库
#pragma omp parallel
#pragma omp firstprivate(lishishuju_sign)
while(gen_result == GEN_NEXT)
{
memset(vectorsign,0,sizeof(vectorsign));
for(i=20;i<shujugs;i++)
{for(s=0,c=0;c<9;c++)
{if(lishishuju_sign[i][vector[c]]==1)s=s+pow(2,8-c);
continue;
};
vectorsign[s]++;
#pragma omp flush(maxvector)
if(vectorsign[s]>maxvector)
{maxvector=vectorsign[s];
itemp=s;
for(c=0;c<9;c++)
{j=itemp&1;
k=itemp>>1;
itemp=k;
bestcinver[c]=j;
};
bestcAdr[0]=vector[0];
bestcAdr[1]=vector[1];
bestcAdr[2]=vector[2];
bestcAdr[3]=vector[3];
bestcAdr[4]=vector[4];
bestcAdr[5]=vector[5];
bestcAdr[6]=vector[6];
bestcAdr[7]=vector[7];
bestcAdr[8]=vector[8];
bestc[0]=bestcinver[8];
bestc[1]=bestcinver[7];
bestc[2]=bestcinver[6];
bestc[3]=bestcinver[5];
bestc[4]=bestcinver[4];
bestc[5]=bestcinver[3];
bestc[6]=bestcinver[2];
bestc[7]=bestcinver[1];
bestc[8]=bestcinver[0];
};
};
结果总是不对,应该怎么设置OMP?