博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

飞翔,嵌入式linux

linux嵌入式系统必将大行于天下。专注于linux嵌入式系统的搭键,专注于高效稳定软件的开发,专注底层程序调试技术。
  feixiang.cublog.cn

关于作者
姓名:飞翔
Email:loughsky@sina.com
职业:IT
年龄:32
位置:北京
个性介绍:专注在嵌入式操作系统,以及高效程序调试
|| << >> ||
我的分类


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

发表于: 2008-03-17,修改于: 2008-03-17 13:20,已浏览545次,有评论0条 推荐 投诉


网友评论
 发表评论