Linux C++编译器选项非常丰富,涵盖了从基本的编译到高级的优化和调试等多个方面。以下是一些常用的GCC编译器选项及其功能:
-o:指定输出文件名称。-E:只进行预处理。-S:只进行预处理、编译。-c:只预处理、编译、汇编,但不链接。-I:指定头文件目录。-L:指定链接时库文件目录。-l:指定链接哪一个库文件。-Wall:显示所有警告信息。-Werror:将警告视为错误。-O0 ~ -O3:开启编译器优化,-O0为不优化,-O3为最高级别的优化。-g:生成调试信息。-pg:在程序中加入额外的代码,执行时产生剖析信息。-march:指定目标平台的体系结构。-mtune:指定目标平台的CPU以便GCC优化。-msse / -msse2 / -msse3 / -mssse3:启用SSE指令集。-mavx / -mavx2:启用AVX指令集。-fexceptions:启用C异常处理。-frtti:启用运行时类型信息(RTTI)。-fno-exceptions:禁用C异常处理。-fno-rtti:禁用运行时类型信息(RTTI)。-fno-short-wchar、-fno-short-enums等:控制GCC的行为和生成的代码。这些选项可以帮助开发者根据具体需求调整编译过程,从而生成高效、优化过的代码。在使用这些选项时,建议查阅GCC的官方手册以获取最准确和最新的信息。