作者RealJack ()
看板C_and_CPP
标题[问题] 编译最佳化的问题
时间Fri Jul 15 00:17:12 2016
各位好,
有个编译最佳化的问题想请教
假设有一个静态函式库叫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会有影响吗?
想听听各位的想法
谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.226.231.114
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1468513035.A.5DB.html
1F:推 lsc36: static lib就已经是编好的机器码了 顶多之後link的时候做 07/15 00:55
2F:→ lsc36: 一点LTO吧 07/15 00:55
3F:→ TobyH4cker: .... 07/15 11:56
4F:→ enonrick: 在case 2加-O 也改变不了xxx.a 没有-O 的事实,也不要 07/15 14:57
5F:→ enonrick: 把-O 神化,除非写法本身有毛病,加-O层级也帮助不了 07/15 14:58
6F:→ enonrick: 什麽,除非你每一天都开-S 去算 cycles 07/15 14:58
7F:→ enonrick: compiler的影响反而还比较明显,还记得gcc2.9x 时期的版 07/15 15:00
8F:→ enonrick: 本大车拼就为了快那 0.0x秒 07/15 15:01