VC++中的內聯
內聯,在類聲明中定義方法;內聯方法放在類聲明之外,但必須出現在頭文件中,且內聯方法聲明中使用inline標識;下面是YJBYS小編整理的VC++中的內聯的相關知識,希望對你有幫助!
內聯節省的開銷
函數調用開銷
調用間優化 優秀的編譯器可是內聯方法的邊界難以區分(將代碼內聯后,對代碼進行重新排列)
內聯帶來的問題
代碼膨脹(空間開銷)
由于代碼膨脹帶來的頁面緩存命中率下降
編譯時間增加
修改文件后相關文件都需要重新編譯;
由于函數邊界模糊,該內聯函數遇到問題后不好排查;
內聯函數的建議
優化時,只針對高頻代碼內聯;
對于調用頻率高的(80%以上場景都會走到的路徑):
函數規模<5行:總是內聯;
5-20行,將高頻率的調用點選擇性內聯;
超過20行,重寫方法,體現出快速路徑并將其內聯;
內聯的.技巧
將內聯工作放到開發周期后期
使用條件內聯,通過宏和編譯選項的技巧控制在開發初期不內聯,而到開發后期再加上自定義內聯選項進行內聯;
SPARC體系結構中的內聯
SPARC中有充足的寄存器,在限定的調用深度范圍內幾乎沒有調用返回的性能損失(無須在調用時存儲就的寄存器內容),所有,這種體系結構的內聯效果甚微,一般不用考慮內聯;
【VC++中的內聯】相關文章:
vc++中的ADO的應用11-10
社交中的微笑10-10
交際中的禮儀10-06
JavaScript中“+”的解析11-12
《禮記》中的智慧08-30
excel中輸入的坐標怎么在CAD中畫圖09-27
演講中的嗓音的作用10-03
jQuery中的read和JavaScript中的onload函數的區別在哪11-10
《尚書》中的儒家智慧05-24