代码优化指的是编译器通过分析源代码,找出其中尚未达到最优的部分,然后对其重新进行组合,目的是改善程序的执行性能。

     GCC提供的代码优化功能非常强大,它通过编译选项-On来控制优化代码的生成,其中n是一个代表优化级别的整数。

     对于不同版本的GCC来讲,n的取值范围及其对应的优化效果可能并不完全相同,比较典型的范围是从0变化到2或3

     编译时使用选项-O可以告诉GCC同时减小代码的长度和执行时间,其效果等价于-O1。通常来说,数字越大优化的等级越 高,同时也就意味着程序的运行速度越快

许多Linux程序员都喜欢使用-O2选项,因为它在优化长度、编译时间和代码大小之间,取得了一个比较理想的平衡点。

-O1  ///– 多优化一些.除了涉及空间和速度交换的优化选项,

-O2/O3  ///执行几乎所有的优化工作.

-On  //– 优化的更多.


 gcc代码优化方法

不带优化
       – gcc -Wall optimize.c -o optimize
做了优化

      – gcc -Wall -O optimize.c -o optimize


time
– 借助Linux提供的time命令,可以大致统计出该程序在运行
时所需要的时间,比较两次时间
– # time ./optimize

避免gcc代码优化的场合
避免优化代码场合:
1– 程序开发的时候 优化等级越高,消耗在编译上的时间就越长,因此在开发的时候最好不要使用优化选项,只有到软件

发行或开发结束的时候,才考虑对最终生成的代码进行优化。


2– 资源受限的时候 一些优化选项会增加可执行代码的体积,如果程序在运行时能够申请到的内存资源非常紧张(如一些

实时嵌入式设备),那就不要对代码进行优化,因为由这带来的负面影响可能会产生非常严重的后果。


3– 跟踪调试的时候 在对代码进行优化的时候,某些代码可能会被删除或改写,或者为了取得更佳的性能而进行重组,从
而使跟踪和调试变得异常困难。
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐