当使用GCC(GNU Compiler Collection)编译C++代码时,有许多选项可以用来控制编译过程
-c:仅编译源代码文件,生成目标文件(.o)。-S:生成汇编代码文件(.s)。-E:仅进行预处理,不进行编译和链接。-g:生成调试信息,以便使用调试器(如GDB)进行调试。-O:进行优化。可选的优化级别有:-O1、-O2 和 -O3。级别越高,优化程度越大,但编译时间也会增加。-Wall:显示所有警告信息。-Werror:将警告视为错误,即在出现警告时停止编译。-Wno-unused-variable:禁止使用未使用的变量,但允许声明未使用的变量。-std=c++11、-std=c++14、-std=c++17:指定C++标准版本。-pthread:为程序启用线程支持。-o:指定输出文件名。如果不指定,则默认为a.out(对于单个源文件)或a.out加上源文件名(对于多个源文件)。-I:指定头文件搜索路径。-L:指定库文件搜索路径。-l:链接指定的库。例如,-lmysql表示链接MySQL库。-pthread:启用线程支持。-D:定义宏。例如,-DFOO=bar表示定义名为FOO的宏,其值为bar。-lstdc++:链接C++标准库。-static:生成静态链接的可执行文件。-shared:生成动态链接的可执行文件。-fPIC:生成位置无关代码(Position Independent Code),适用于共享库。这些选项可以组合使用,以满足特定项目的需求。要查看所有可用选项,请在命令行中输入gcc --help。