2009-08-15 95 views
2

我總是在我的編譯器中啓用此功能,它在調試時幫助了很多,同時閱讀更乾淨的彙編代碼。我認爲它不會對速度優化產生重大影響,讓CPU有能力進行流水線處理,但至少它確實爲寄存器分配開闢了新的機會,因此獲得了一個新的免費寄存器EBP(不確定編譯器是否可以使用它)幀指針省略?有風險嗎?

我的問題是:這種方法是否安全了?你有沒有遇到過任何特殊之處?

回答

2

如果您的軟件在崩潰時產生堆棧跟蹤,則省略幀指針可能會阻止該工作。

0

我從來沒有遇到過GCC上的-fomit-frame-pointer的問題。但它確實使調試更糟糕。

0

Gentoo wiki注意fomit-frame-pointer可以禁止調試。否則,我不認爲有任何真正的風險

+0

它說:「...雖然二進制大小可能會略微增加。該標誌打破x86和其他拱門上的調試...」我認爲這與--finline-functions – ZeroCool 2009-08-15 18:29:49