GCC(GNU编译器集合)是一个广泛使用的编译器,它可以处理C、C++、Objective-C、Fortran等多种语言
-E
:仅执行预处理,不进行编译。预处理后的输出会显示在标准输出中,通常用于调试预处理过程。-P
:与-E
类似,但会去除预处理指令(如#include
和#define
),并保留注释。-dD
:显示所有预定义的宏,包括编译器内置的宏和通过命令行指定的宏。-dM
:显示所有预定义的宏,但只显示宏名称,不显示其定义。-imacros file
:将文件中的宏添加到预处理器的宏列表中。-include file
:在源代码开头自动包含指定的头文件。-nostdinc
:禁止预处理器搜索系统标准库目录。-I dir
:向预处理器的头文件搜索路径中添加指定目录。-D macro[=defn]
:定义预处理器宏。如果没有提供定义,则默认为1。-U macro
:取消预处理器宏的定义。-undef
:取消所有预定义的宏。-A name[=value]
:定义预处理器断言。-Wp,option
:将选项传递给预处理器。例如,-Wp,-P
等同于-P
。这些预处理选项可以帮助您更好地控制GCC预处理过程。要查看完整的选项列表,请参阅GCC手册:https://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html