了解预处理器正在做什么

时间:2009-11-12 01:12:31

标签: c c-preprocessor

在预处理器完成所有替换之后,有没有看到你的代码是什么样的?

5 个答案:

答案 0 :(得分:8)

对于gcc,只需使用-E开关

gcc -E
  

-E在预处理阶段后停止;不要正确运行编译器。   输出的形式为   预处理的源代码,即   发送到标准输出。

答案 1 :(得分:7)

这取决于你的编译器。使用gcc,您可以使用:

gcc -E source.c

答案 2 :(得分:7)

只是关于系统标题的注释(例如<stdio.h>):预处理时它们很痛苦。

gcc -E -nostdinc file.ccpp -nostdinc file.c不会包含系统标头的扩展。

答案 3 :(得分:2)

作为gcc -E的替代方案,您可以在文件上运行cpp

答案 4 :(得分:1)

Eclipse C ++ IDE(CDT)具有宏探测控件,可用于:

  • 获取最终的宏扩展
  • 逐步了解扩展流程

这称为Macro Exploration控件。