欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談VC++中的內(nèi)聯(lián)

 更新時(shí)間:2015年07月01日 08:53:11   投稿:hebedich  
在 Visual C++ 中使用內(nèi)聯(lián)匯編 一、內(nèi)聯(lián)匯編的優(yōu)缺點(diǎn) 因?yàn)樵赩isual C++中使用內(nèi)聯(lián)匯編不需要額外的編譯器和聯(lián)接器,且可以處理Visual C++ 中不能處理的一些事情,而且可以使用在 C/C++中的變量,所以非常方便。

內(nèi)聯(lián)的語(yǔ)法

在類聲明中定義方法;
內(nèi)聯(lián)方法放在類聲明之外,但必須出現(xiàn)在頭文件中,且內(nèi)聯(lián)方法聲明中使用inline標(biāo)識(shí);
注:inline只是對(duì)編譯器的建議,是否內(nèi)聯(lián)的決定權(quán)在編譯器;

內(nèi)聯(lián)節(jié)省的開(kāi)銷

函數(shù)調(diào)用開(kāi)銷
調(diào)用間優(yōu)化 優(yōu)秀的編譯器可是內(nèi)聯(lián)方法的邊界難以區(qū)分(將代碼內(nèi)聯(lián)后,對(duì)代碼進(jìn)行重新排列)

內(nèi)聯(lián)帶來(lái)的問(wèn)題

代碼膨脹(空間開(kāi)銷)
由于代碼膨脹帶來(lái)的頁(yè)面緩存命中率下降
編譯時(shí)間增加
修改文件后相關(guān)文件都需要重新編譯;
由于函數(shù)邊界模糊,該內(nèi)聯(lián)函數(shù)遇到問(wèn)題后不好排查;

內(nèi)聯(lián)函數(shù)的建議

優(yōu)化時(shí),只針對(duì)高頻代碼內(nèi)聯(lián);
對(duì)于調(diào)用頻率高的(80%以上場(chǎng)景都會(huì)走到的路徑):
函數(shù)規(guī)模<5行:總是內(nèi)聯(lián);
5-20行,將高頻率的調(diào)用點(diǎn)選擇性內(nèi)聯(lián);
超過(guò)20行,重寫(xiě)方法,體現(xiàn)出快速路徑并將其內(nèi)聯(lián);

內(nèi)聯(lián)的技巧

將內(nèi)聯(lián)工作放到開(kāi)發(fā)周期后期
使用條件內(nèi)聯(lián),通過(guò)宏和編譯選項(xiàng)的技巧控制在開(kāi)發(fā)初期不內(nèi)聯(lián),而到開(kāi)發(fā)后期再加上自定義內(nèi)聯(lián)選項(xiàng)進(jìn)行內(nèi)聯(lián);
SPARC體系結(jié)構(gòu)中的內(nèi)聯(lián)

SPARC中有充足的寄存器,在限定的調(diào)用深度范圍內(nèi)幾乎沒(méi)有調(diào)用返回的性能損失(無(wú)須在調(diào)用時(shí)存儲(chǔ)就的寄存器內(nèi)容),所有,這種體系結(jié)構(gòu)的內(nèi)聯(lián)效果甚微,一般不用考慮內(nèi)聯(lián);

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • VSCode與Keil聯(lián)合開(kāi)發(fā)STM32的流程

    VSCode與Keil聯(lián)合開(kāi)發(fā)STM32的流程

    這篇文章主要介紹了VSCode與Keil聯(lián)合開(kāi)發(fā)STM32的流程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C語(yǔ)言二叉樹(shù)的三種遍歷方式的實(shí)現(xiàn)及原理

    C語(yǔ)言二叉樹(shù)的三種遍歷方式的實(shí)現(xiàn)及原理

    這篇文章主要介紹了C語(yǔ)言二叉樹(shù)的三種遍歷方式的實(shí)現(xiàn)及原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • C語(yǔ)言中fopen()函數(shù)的使用方法示例詳解

    C語(yǔ)言中fopen()函數(shù)的使用方法示例詳解

    這篇文章主要介紹了C語(yǔ)言中fopen()函數(shù)的使用方法,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • 函數(shù)指針與指針函數(shù)的學(xué)習(xí)總結(jié)

    函數(shù)指針與指針函數(shù)的學(xué)習(xí)總結(jié)

    函數(shù)指針是指向函數(shù)的指針,指針函數(shù)是指一個(gè)函數(shù)的返回值是一個(gè)指針。以下就是對(duì)函數(shù)指針與指針函數(shù)的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下
    2013-07-07
  • C/C++?Qt數(shù)據(jù)庫(kù)與SqlTableModel組件應(yīng)用教程

    C/C++?Qt數(shù)據(jù)庫(kù)與SqlTableModel組件應(yīng)用教程

    SqlTableModel?組件可以將數(shù)據(jù)庫(kù)中的特定字段動(dòng)態(tài)顯示在TableView表格組件中,這篇文章將主要介紹SqlTableModel組件一些常用的操作,需要的朋友可以參考一下
    2021-12-12
  • C++內(nèi)存查找實(shí)例

    C++內(nèi)存查找實(shí)例

    這篇文章主要介紹了C++內(nèi)存查找實(shí)例,可實(shí)現(xiàn)Windows程序設(shè)計(jì)中的內(nèi)存查找功能,需要的朋友可以參考下
    2014-10-10
  • C語(yǔ)言結(jié)構(gòu)體簡(jiǎn)單入門(mén)講解

    C語(yǔ)言結(jié)構(gòu)體簡(jiǎn)單入門(mén)講解

    這篇文章主要介紹了C語(yǔ)言結(jié)構(gòu)體簡(jiǎn)單入門(mén)講解,本文講述了結(jié)構(gòu)體的基本定義和操作,講解了幾個(gè)比較實(shí)用的函數(shù)和案例,希望對(duì)你有所幫助
    2021-06-06
  • 關(guān)于C++中構(gòu)造函數(shù)初始化成員列表的總結(jié)

    關(guān)于C++中構(gòu)造函數(shù)初始化成員列表的總結(jié)

    下面小編就為大家?guī)?lái)一篇關(guān)于C++中構(gòu)造函數(shù)初始化成員列表的總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • 八皇后問(wèn)題實(shí)現(xiàn)代碼分享

    八皇后問(wèn)題實(shí)現(xiàn)代碼分享

    八皇后問(wèn)題,是一個(gè)古老而著名的問(wèn)題,是回溯算法的典型案例,這篇文章主要介紹了八皇后問(wèn)題實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-02-02
  • 一篇文章帶你了解C語(yǔ)言二分查找

    一篇文章帶你了解C語(yǔ)言二分查找

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言二分查找法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評(píng)論