编译器处理的编译器指令和预处理器指令有多么不同

时间:2011-06-14 18:46:33

标签: c gcc

在C中,我想知道编译器(如GCC)处理/实现编译器指令和预处理器指令有多么不同?谢谢!

通过编译器指令,它们如下:

  

OpenMP(Open Multi-Processing)是一个   应用程序接口   (API)支持多平台   共享内存多处理   用C,C ++和Fortran编程   许多架构,包括Unix和   Microsoft Windows平台。它   由一组编译器指令,库例程和   影响的环境变量   运行时行为。

3 个答案:

答案 0 :(得分:3)

编译器按照指定 in C99第6.10节处理预处理程序指令。

答案 1 :(得分:1)

编译器不处理预处理器指令;预处理器就是这么做的。一旦预处理器完成,它就会将其输出提供给编译器,编译器可以在其认为合适时解释编译器指令(如#pragma s)。

答案 2 :(得分:1)

关于预处理器,请参阅Pete Wilson的回答。对于#pragma指令,Wikipedia有这样的说法:

  

#pragma指令是编译器特定的指令,编译器供应商可以将其用于自己的目的。