文章目录
- 一、前文
 - 二、编译优化选项
 - 三、编译优化详解
 
 
一、前文
- 我一般选择不优化,因为编译器优化后可能导致一些无法预料的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,基于类型的别名分析
 
                










