我试图通过添加" #pragma omp parallel for"来并行运行循环,但这对我如何并行循环没有任何建议?
#pragma omp parallel for
for (p = split; *p != 0; p++) if (*p == ' ') *p = '0';
答案 0 :(得分:5)
要使OpenMP并行化循环,必须事先确定循环迭代次数。在这种特殊情况下,您必须首先确定字符串长度:
size_t len = strlen(split);
#pragma omp for
for ( size_t p = 0 ; p < len; ++p ) if (split[p] == ' ') split[p] = '0';
尽管如此,您可以从并行化中获得任何性能优势,这是非常值得怀疑的。