C++编译命令的常见选项包括:
-c:只编译源文件,生成目标文件(.o或.obj),不进行链接。-S:生成汇编代码文件(.s或.asm)。-E:只进行预处理,不进行编译和链接。-g:生成调试信息,以便使用调试器(如GDB)进行调试。-O:进行优化,可以指定优化级别,如-O1、-O2或-O3,级别越高优化程度越大。-Wall:显示所有警告信息。-Werror:将警告视为错误,即在出现警告时停止编译。-pthread:为程序启用线程支持。-std=c++11、-std=c++14、-std=c++17等:指定使用的C++标准版本。-I:指定头文件的搜索路径。-L:指定库文件的搜索路径。-l:指定要链接的库名,例如-lmylib表示链接名为libmylib.so或libmylib.a的库。-o:指定输出文件的名称和路径。这些选项可以组合使用,以根据具体需求定制编译过程。例如,以下命令将C++源文件main.cpp编译为可执行文件myprogram,并启用优化和调试信息:
g++ -std=c++11 -Wall -O2 -g -pthread main.cpp -o myprogram