C++編譯選項有很多種,它們可以用來控制編譯器的行為和生成代碼的特性。以下是一些常見的C++編譯選項:
-c
:僅編譯源文件,生成目標文件(.o 或 .obj)。-S
:生成匯編代碼文件(.s 或 .asm)。-E
:僅進行預(yù)處理,不進行編譯和鏈接。-g
:生成調(diào)試信息,以便使用調(diào)試器(如 GDB)調(diào)試程序。-O
:開啟優(yōu)化選項,可以生成更高效的機器代碼。常見的子選項有:
-O1
:基本的優(yōu)化。-O2
:更多的優(yōu)化。-O3
:最高的優(yōu)化級別。-Wall
:顯示所有警告信息。-Wextra
:顯示額外的警告信息。-Werror
:將警告視為錯誤,即在出現(xiàn)警告時停止編譯。-ansi
:遵循 C++ 標準(C++98/03)。-std=c++98
、-std=c++03
、-std=c++11
、-std=c++14
、-std=c++17
、-std=c++20
:指定編譯器遵循的 C++ 標準版本。-pthread
:啟用 POSIX 線程支持。-D
:定義宏。例如,-DFOO
定義了名為 FOO 的宏。-I
:指定頭文件搜索路徑。-L
:指定庫文件搜索路徑。-l
:鏈接指定的庫。例如,-lmylib
鏈接名為 libmylib 的庫。-o
:指定輸出文件名。例如,-o output_file source_file.cpp
將編譯后的可執(zhí)行文件命名為 output_file。這些選項可以組合使用,以滿足不同的編譯需求。請注意,不同的編譯器可能支持不同的選項,具體選項和用法請參考相應(yīng)編譯器的文檔。