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