Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1359388
  • 博文数量: 277
  • 博客积分: 2551
  • 博客等级: 少校
  • 技术积分: 3918
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-21 22:46
文章分类

全部博文(277)

文章存档

2017年(3)

2016年(9)

2015年(65)

2014年(27)

2013年(85)

2012年(61)

2011年(27)

分类: C/C++

2011-03-01 13:13:54

优化选项:
-fstrength-reduce : 优化循环语句,循环强度缩小(loop strength reduction)优化,消除重复变量
-fdelayed-branch :如目标机支持,那么它试图重新排列指令,以便利用延迟分支指令后的指令空隙
-fschedule-insns: 如果目标机支持,它试图重新排列指令,以便消除因数据未绪造成的执行停顿,这可以帮助浮点运算或内存访问较慢的机器调取指令,允许其它指令先行,直到调取指令或浮点运算完成.
-fschedule-insns2: 在寄存器分配完成后,需要一个额外的指令调度过程,针对寄存器数目少时,而且取内存指令大于一个周期的目标机
-finline-functions: 把所有的简单的函数集成进调用者,编译器探索式地决定哪些函数足够简单,值得这种集成
-fomit-frame-pointer: 那些不要帧指针(ebp)的函数,不要在寄存器中保存帧指针。这样可以避免保存、设置、恢复帧指针的指令
 
与优化-O 的关系
 
-O compiler会试图减少目标码的大小和执行时间,当然它也是会自动打开某些选项 如:
    -fthread-jumps,-fdefer-pop,-fdelayed-branch,-fomit-frame-pointer
-O2 compiler 除了涉及空间和速度交换的优化选项,执行几乎所有的优化工作.但不执行循环展开和函数内联,因为它增加了编译时间。
-O3 优化更多,除了打开了-O2的所有选项,它还是打开了-finline-function选项
 
其它选项:
-nostdinc -Iinclude -- 不要搜索标准的头文件目录中的文件,而是用-I 选项指定的目录或是当前目录里搜索头文件
阅读(2223) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~