小编Emr*_*riş的帖子

C#pragma是预处理还是编译时操作?

我一直在研究 GCC 编译指示类型及其操作。但我意识到pragmas可以用来直接编译命令。我遇到的困惑是 # 操作是预处理的一部分,例如

#if DEBUG
 /* statement one */
#elif RELEASE
 /* statement two */
#endif
Run Code Online (Sandbox Code Playgroud)

如果激活调试模式,编译器甚至不会编译和检测语句二中的错误,但是#pragma如何直接向编译器发出命令?

另外,如果它控制编译器,有没有办法在没有#pragmas的情况下做到这一点?因为预处理之后只剩下C代码了。

c compiler-construction c-preprocessor

5
推荐指数
1
解决办法
393
查看次数

标签 统计

c ×1

c-preprocessor ×1

compiler-construction ×1