簡體   English   中英

為什么gcc -O1的行為與gcc -O0 +選項不同

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM