


本文主要介绍编译选项的简要内容。
1. 编译选项构成
编译选项用于使优化人员更好地与编译器交互、更好地与编译器交互,编译器会根据优化人员所加入的编译选项调用内部对应的功能。编译选项包括前端选项、优化选项、代码生成选项、链接选项及其他选项。
1.1 前端选项
编译人员可以通过编译选项指定预处理、语言选择和模式等对程序的前端编译过程予以干预。下图列出了不同类别的前端选项以及对应的功能。

1.2 优化选项
编译器的优化选项种类很多,常用的编译优化选项包括内联优化选项、优化级别选项、循环优化选项、向量化优化选项、并行优化选项、浮点优化选项等。下面两张图片列出了常用的编译优化选项以及对应的功能。


1.3 代码生成选项
在代码生成阶段可以通过编译阶段选项指定不同的处理阶段,通过数据选项选择对数据的处理方式,通过对目标平台选项生成指定平台的代码,通过后端生成选项打开不同后端支持的优化功能。下图列出了不同类别的代码生成选项以及对应的功能。

1.4 链接选项
编译选项中的链接选项用于指定编译器在链接阶段的行为。部分链接选项如下图所示。

1.5 其他选项
除上述提到的选项外,编译器还提供了很多其他选项,如基础信息选项、优化信息选项和调试选项。下图列出了较为常见的其他选项。



2. 总结
编译器在工作过程中,有些功能需要通过添加编译选项才能实现。编译器会根据优化人员所添加的编译选项调用内部对应的功能,优化人员只有充分了解各种编译选项的功能和使用方法,才能更好地利用编译选项优化程序。
3. 参考资料
(1)https://zhuanlan.zhihu.com/p/347611674?utm_psn=1754205936649236482
(2)一文看懂C/C++编译过程以及g++编译选项_g++ 目标文件-CSDN博客


