[问题] 编译最佳化的问题

楼主: RealJack   2016-07-15 00:17:12
各位好,
有个编译最佳化的问题想请教
假设有一个静态函式库叫xxx.a
program A使用xxx.a里面的某函式x()
program A除了呼叫xxx.a,本身不做任何事
case 1: 用-O3编译出xxx.a=> A呼叫x() => 不用任何flag再编译出A
case 2: 不用任何flag编译xxx.a=> A呼叫x() => 使用-O3再编译出A
请问case 1会比case 2快吗? 还是一样快?
换句话说, 一旦静态函式库被预先编译完后
之后的使用者再加上最佳化的flag会有影响吗?
想听听各位的想法
谢谢~
作者: lsc36 (lsc36)   2016-07-15 00:55:00
static lib就已经是编好的机器码了 顶多之后link的时候做一点LTO吧
作者: TobyH4cker (Toby (我要当好人))   2016-07-15 11:56:00
....
作者: enonrick (EnonRick)   2016-07-15 14:57:00
在case 2加-O 也改变不了xxx.a 没有-O 的事实,也不要把-O 神化,除非写法本身有毛病,加-O层级也帮助不了什么,除非你每一天都开-S 去算 cyclescompiler的影响反而还比较明显,还记得gcc2.9x 时期的版本大车拼就为了快那 0.0x秒

Links booklink

Contact Us: admin [ a t ] ucptt.com