2011-09-26 84 views
0

我有一個關於-finline函數選項的問題gcc -finline-functions選項

我們正在測試我們已經實現的函數是否獲得了成功內聯。 以下是觀察

  1. 函數獲取-01,-O2和-O3優化級別的內聯。
  2. 函數未針對預期的優化級別-O0進行內聯。

當我們試着使用-O0和-finline函數一起編譯時,我們仍然觀察到函數沒有被內聯。我們甚至嘗試了一個非常簡單的方法(一行返回語句),並觀察到相同的結果。

因此,使用-finline-functions標誌和-O0似乎是多餘的(它不會使函數內聯)。我仍在搜索這種行爲是否記錄在gcc/g ++手冊的某處。請讓我們知道,如果任何人有確切的想法如何g ++工程指定-finline-functions和-O0在一起。

問候

回答

3

從gcc手冊(http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html):如果-O電平被設置在命令行上

大多數優化僅啓用。否則,即使指定了單個優化標誌,它們也會被禁用。

+0

感謝您的鏈接。我確實去過那個頁面,但不知怎的,錯過了那一行! 再次感謝... –