一、前文
- 我一般选择不优化,因为编译器优化后可能导致一些无法预料的bug,还不如不优化。
- 其次,与其依赖编译器的代码优化,还不如依靠自己把代码写优调优。
二、编译优化选项
- 在工程名上右键选
Options
C/C++ Compiler
——>OpTimizations
Level
是优化等级- 右边的是附加的优化选项
三、编译优化详解
- None
- 不做任何优化
- Low
- 变量优化,如果一个变量没有作用了,就会把它优化掉,节省内存空间。
- Medium
- Live-dead analysis and opTImization,代码是否可用的分析和优化
- Dead code elimination,无用的代码清除
- Redundant label elimination,冗余标签消除
- Redundant branch elimination,冗余分支清除
- Code hoisting,代码提升
- Peephole optimization,窥孔优化,局部优化
- Some register content analysis and optimization,寄存器内容分析与优化
- Static clustering,静态聚类
- Common subexpression elimination,公共子表达式消去。
- High
- Instruction scheduling,指令调度优化
- Cross jumping,交叉跳跃
- Advanced register content analysis and optimization,高级寄存器内容分析与优化
- Loop unrolling,循环展开
- Function inlining,函数内联
- Code motion,代码移动
- Type-based alias analysis,基于类型的别名分析
觉得好,就一键三连呗(点赞+收藏+关注)