asd*_*sdf 3 c parallel-processing pragma openmp preprocessor-directive
当我尝试使用-fopenmpflag 编译时,我收到以下错误:
流浪
#于节目中
以下是我的代码:
#include<omp.h>
int main()
{ #pragma omp parallel
{
int id=0;
printf("hello(%d) ",id);
printf("world(%d)\n",id);
}
}
Run Code Online (Sandbox Code Playgroud)
引用C11,章节§6.10/ p2,"预处理指令"(强调我的)
甲预处理指令由满足以下约束预处理标记的序列组成:所述序列中的第一令牌是
#预处理令牌(在翻译阶段4的开始)是在源文件中的第一个字符(任选地在空白不包含换行符或在包含至少一个换行符的空格后面.序列中的最后一个标记是序列中第一个标记后面的第一个换行符.
所以,你不能拥有#任何其他令牌.在你的代码中
int main()
{ #pragma omp parallel
^ ^^^
Run Code Online (Sandbox Code Playgroud)
语法违反约束,因此错误.你必须把它放在自己的行中.