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