Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3150118
  • 博文数量: 117
  • 博客积分: 10003
  • 博客等级: 上将
  • 技术积分: 5405
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-23 09:34
文章分类

全部博文(117)

文章存档

2011年(1)

2010年(10)

2009年(69)

2008年(37)

分类: LINUX

2008-03-17 13:20:54

现在编译器做的很厉害,你只要加上相应的编译选项,就可以使程序得到很大的优化,速度快许多。
 
但这是有代价的。
 
比如说,在程序编译的时候,加上O2,会使程序运行时不形成标准的栈帧,这样是可以减少内存的操作,从而提高速度,但是也会导致当出现coredump时,函数地址很不准确,给定位带来很大的困难。
 
如果形成标准的栈帧,在出现coredump时,调试起来就会很容易,开发速度会很快。
 
因此,在编译时,我们要考虑到哪些编译选项会对我们未来调试有影响,哪些不会;如果能加快调试,性能不够,我们可以考虑其他方式来优化,这样可以提高开发效率,缩短产品开发周期。
 
在平台编译方面,我们要做到两级编译参数优化选项,一个是整体系统级,包括所有的进程和动态库,主要针对编译优化的选项,这样改一个地方,就可以整个系统生效;针对每个进程和动态库,可以允许有自己的编译选项,其主要面对编译的参数设定,怎样正确的编译。
 
有了两级的系统编译选项控制,对于整个系统编译的控制,将会非常方便。
 
 
阅读(2294) | 评论(0) | 转发(0) |
0

上一篇:mallopt M_MXFAST

下一篇:关于硬加速的支持

给主人留下些什么吧!~~