在 GCC 中,优化是通过编译选项控制的,目的是提升程序性能(如运行速度、内存占用等),但可能增加编译时间或影响调试体验。
一、GCC 优化选项概览
1. 通用优化级别
选项 | 说明 | 适用场景 |
---|---|---|
-O0 |
关闭所有优化,保留完整调试信息。 | 调试阶段 |
-O1 |
基础优化(如删除未用代码、简化表达式),编译速度较快。 | 平衡调试和性能 |
-O2 |
中等优化(包含循环展开、指令调度等),推荐大多数场景使用。 | 发布版本默认优化 |
-O3 |
激进优化(包括向量化、函数内联等),可能增加代码体积或编译时间。 | 计算密集型任务 |
-Os |
优化代码体积(在 -O2 基础上减少体积)。 |
嵌入式或资源受限环境 |
-Ofast |
激进优化(违反严格标准 |