電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 2605|回復(fù): 1
收起左側(cè)

C 語言編程修煉之六性能優(yōu)化

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-19 17:51:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
C 語言嵌入式系統(tǒng)編程修煉之六:性能優(yōu)化
一、 使用宏定義
        在C 語言中,宏是產(chǎn)生內(nèi)嵌代碼的唯一方法。對于嵌入式系統(tǒng)而言,為了能達(dá)到性能要求,宏是一種很好的代替函數(shù)的方法。
        寫一個"標(biāo)準(zhǔn)"宏MIN ,這個宏輸入兩個參數(shù)并返回較小的一個:錯誤做法:
        #define MIN(A,B) ( A <= B ? A : B )
        正確做法:
        #define MIN(A,B) ((A)<= (B) ? (A) : (B) )
        對于宏,我們需要知道三點:
        (1)宏定義"像"函數(shù);
        (2)宏定義不是函數(shù),因而需要括上所有"參數(shù)";
        (3)宏定義可能產(chǎn)生副作用。
下面的代碼:
        least = MIN(*p++, b);
將被替換為:
        ( (*p++) <= (b) ?(*p++)b) )發(fā)生的事情無法預(yù)料。
因而不要給宏定義傳入有副作用的"參數(shù)"。
[hide] C 語言編程修煉之六性能優(yōu)化.doc (37 KB, 下載次數(shù): 0) [\hide]

回復(fù)

使用道具 舉報

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)閉

站長推薦上一條 /1 下一條


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表