[英]Why does gcc -O1 behave differently than gcc -O0 + options
鑒於gcc文檔( https://gcc.gnu.org/onlinedocs/gcc-5.2.0/gcc.pdf )指定-O1為-O0加上特定的選項列表,為什么當我編譯我的代碼時-O1編寫的代碼比使用-O0 +打開-O1時列出的所有選項要編譯的時間長2倍? 是否有其他未在文檔中指定的選項正在啟用(我懷疑),還是在后台發生了其他更險惡的事情?
如果文檔只是過時的話,那只是為了更好地了解可用於GCC和我的代碼的優化選項,我將對此感興趣。
如果文檔剛剛過時...
可以合理地認為文檔不正確。 這樣的事情發生了。
另一種可能是您誤讀了文檔。 我對鏈接到的文檔(第111頁)的理解是, -O
和-O1
應該是同一意思。 如果那是正確的,那么您顯然想做的事情就沒有多大意義了。
我建議您查看GCC源代碼以准確了解如何實現-O1
。 那應該告訴您是否可以通過不正確的文檔1來解釋您所看到的行為,或者這里是否還有其他情況。
1-如果問題出在文檔不正確,則可以通過提交帶有更正的錯誤報告來幫助GCC人員,甚至最終幫助其他GCC用戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.