C++编译选项有很多种,它们可以用来控制编译器的行为和生成代码的特性。以下是一些常见的C++编译选项:
-c:仅编译源文件,生成目标文件(.o 或 .obj)。-S:生成汇编代码文件(.s 或 .asm)。-E:仅进行预处理,不进行编译和链接。-g:生成调试信息,以便使用调试器(如 GDB)调试程序。-O:开启优化选项,可以生成更高效的机器代码。常见的子选项有:
-O1:基本的优化。-O2:更多的优化。-O3:最高的优化级别。-Wall:显示所有警告信息。-Wextra:显示额外的警告信息。-Werror:将警告视为错误,即在出现警告时停止编译。-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 将编译后的可执行文件命名为 output_file。这些选项可以组合使用,以满足不同的编译需求。请注意,不同的编译器可能支持不同的选项,具体选项和用法请参考相应编译器的文档。