簡體   English   中英

我應該擔心g ++警告說“內聯失敗”嗎?

[英]Should I be worried about g++ warnings saying 'inlining failed'?

在我正在辦公室工作的一個項目中,當我們使用-Os編譯發行版時,我們從g ++收到數百條警告,指出內聯失敗。 這些警告中的大多數似乎來自增強,但是有些來自我們自己的庫頭文件(我們鏈接到的二進制.dylibs)。 通常可以安全地忽略這些警告,還是我應該擔心的警告?

注意:我們在Mac OS X上使用g ++ 4.0

G ++是在提醒什么是本質,嚴格意義上的性能問題-你的要求inline實現,只是不能被內聯。 如果inline的使用並不重要,則應將其刪除(編譯器可以在沒有該提示的情況下內聯函數!),但是就代碼正確性而言,您可以忽略該警告。 如果inline的使用確實很重要,即對性能至關重要(相對於愚蠢的過早優化而言),則警告是告訴您重新編寫代碼,以便可以實現(最壞的情況是,向​​下移動到宏) -嘆息,但是,當你必須時,你必須!-)。

如果沒有,應該保存

  • 碰到gcc中的錯誤
  • 預期代碼中的內聯函數
  • 嘗試做討厭的事情

但是,您應該盡量減少警告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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