簡體   English   中英

我如何使用gcc的內聯報告(-Winline)

[英]How do I use gcc's inline report (-Winline)

在我的項目上啟用-Winline產生了大量的輸出,我真的不明白。 有誰知道如何使用此輸出來找出為什么我的特定功能沒有內聯?

好吧,根據我的gcc手冊頁......

編譯器使用各種啟發式方法來確定是否內聯函數。 例如,編譯器會考慮內聯函數的大小以及當前函數中已經完成的內聯量。 因此,源程序中看似無關緊要的變化可能導致-Winline產生的警告出現或消失。

我不相信你可以強制編譯器內聯你的函數; 它是一個實現細節,甚至可以在編譯器更新時更改。 此外,只要編譯器的選擇導致您的函數運行得更快,是否有任何特殊原因讓您關心函數是否實際內聯?

當然,如果你真的想出於某種原因內聯你的函數,你可能只是使用一個宏來實現。

暫無
暫無

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

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