2011-12-28 29 views
2

如果在gcc的命令行中指定-O2和-O0,任何人都會有優先選擇嗎?我有一些遺留代碼,從多個地方獲取配置....gcc如何在同一命令中對-O2和-O0做出反應?

+0

你爲什麼不嘗試呢? – eboix 2011-12-28 02:04:11

+1

它會無情地嘲諷你:-) – paxdiablo 2011-12-28 02:14:34

+0

:P我已經嘗試過了。但是我沒有想到排序很重要。 – tothphu 2011-12-28 02:23:02

回答

2
λ > g++ outer.cxx -O2 -Os -o outer 
λ > sha1sum outer     
c3f62ab60393266388a8a7fb2d204d4b1f9dc145 outer 
λ > g++ outer.cxx -Os -O2 -o outer 
λ > sha1sum outer 
355052e82d0146a185c8a1b845c7ed6db18087f1 outer 
λ > g++ outer.cxx -O2 -o outer 
λ > sha1sum outer 
355052e82d0146a185c8a1b845c7ed6db18087f1 outer 
λ > g++ outer.cxx -Os -o outer 
λ > sha1sum outer 
c3f62ab60393266388a8a7fb2d204d4b1f9dc145 outer 

最後指定的優化標誌獲勝。

+0

訣竅:)謝謝 – tothphu 2011-12-28 02:29:03

3

Last flag wins。這可以讓它們在makefile中被覆蓋。

相關問題