编译器如何处理OpenMP指令

| 我想知道OpenMP如何 指令由编译器处理, 如gcc? 例如,在此代码中
 int main(int argc, char *argv[])
 {
   #pragma omp parallel  
   printf(\"Hello, world.\\n\");
   return 0;
 }
gcc的预处理程序是否通过以下方式修改C代码 将OpenMP指令替换为 其他一些代码? 之后的代码是什么样的 预处理和就在 组装好了吗? 谢谢并恭祝安康!     
已邀请:
        您可以进行网络搜索并找到讨论该主题的论文。我讨厌提供链接,因为它们会不断变化,但是在这种情况下,这是回答您问题的最简单方法。您可以查看以下两个: Michael Klemm的《来自另一个世界的事物》(或:OpenMP编译器如何工作?第1部分) OpenMP的编译方式,作者:Barbara Chapman 希望这能回答您的问题。     
        我不知道第一手资料,但是当GCC(或任何编译器)遇到这些编译指示时,它不太可能对代码进行预处理。 GCC最有可能只是在内部标记该块,然后生成适当的本机代码。没有中间的C ++代码。     

要回复问题请先登录注册