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