博客> Optimization Level
Optimization Level
2018-08-15 02:01 评论:0 阅读:690 Jerod
ios optimizationLevel

Optimization Level 应该是编译器的优化程度。 比较早期的时候,硬件资源是比较缺乏的。为了提高性能,开发编译器的大师们,都会对编译器(从c到汇编的编译过程)加上一定的优化策略。优化后的代码效率比较高,但是可读性比较差,且编译时间更长。 优化是指编译器一级的措施,与机器指令比较接近,所以很可能会导致硬件不兼容,进而产生了你目前遇到的软件装不上的问题。 他是编译器的行为,与你代码理论上不相关的。 苹果的检查应该是检查你的代码一级的规范程度,隐私侵权相关的问题。 应该是与编译的过程是无关的。请放心。

在 Build Settings -> Apple LLVM 7.0 - Code Generation ![ Optimization Level ](/Users/jerod/Desktop/屏幕快照 2016-03-24 下午4.04.27.png) Optimization Level可以设置代码的优化等级。

  • None:不优化。[-O0]与此设置,编译器的目标是降低成本的编译和调试产生预期的结果。语句是独立的:如果你停止程序语句之间有一个断点,然后您可以指定一个新值的任何变量或任何其他声明改变程序计数器的功能和得到你期望的结果从源代码。
  • Fast:优化编译需要更多的时间,和更多的内存大的功能。[-O,O1]与此设置,编译器试图减少代码大小和执行时间,没有执行任何优化,需要大量的编译时间。在苹果的编译器,严格的混叠,阻挡重新排序,并内嵌调度优化时默认是禁用的。
  • Faster:编译器执行几乎所有支持优化,不涉及space-speed权衡。[-O2]与此设置,编译器不执行循环展开或内联函数,或寄存器重命名。相比“快速”的设置,该设置增加编译时间和生成的代码的性能。
  • Fastest:打开“更快”指定的优化设置,也取决于函数内联和寄存器重命名选项。此设置可能会导致一个更大的二进制。
  • Fastest [-O3],最小的优化尺寸。这个设置允许所有“更快”的优化通常不增加代码大小。它还旨在减少代码的大小进行进一步的优化。
收藏
0
sina weixin mail 回到顶部