2015-08-15 50 views
0

如果gcc得到調用鏈接時優化(-flto)功能,我使用下面的關鍵字/屬性中的一種:inline關鍵字是否會影響鏈接時間優化?

__attribute__((always_inline)) void foo(int i); 
inline void bar(int i); 

這是否關鍵字/屬性影響的鏈接時的行爲優化(如果編譯器不能執行inline ing)?

鏈接時間優化是否偏好inline而不是使用此關鍵字/屬性的函數。

現在的問題是,它是否對鏈接器 -phase處理不是編譯器有所影響。

+0

我不認爲LTO的影響與已經從屬性文檔中解釋過的情況有很大不同。 –

回答

2

基於以前的答案在這裏找到:what 「inline __attribute__((always_inline))」 means in the function?

__attribute__((always_inline)) 

使編譯器嘗試內聯,即使它在首真實禁用,

inline 

告訴編譯器確實努力以內聯該功能。

+1

OP的問題是它如何影響鏈接時間,而不是編譯時間太多 – Soren

+0

答案只是指出要徹底閱讀文檔,這也是我在這種情況下推薦的。您應該已經將問題標記爲您發現的內容的重複部分。儘管你給出了更多的信息,正如鏈接答案+1給出的那樣。 –

+0

當我點擊「標誌」時,最接近複製的選項是「需要管理員干預」。這是我未來應該做的嗎? – Jorj

相關問題