C語言嵌入系統編程修煉-性能優化

本文來自:智趣網-C/C++語言編程技術交流論壇 http://www.bczh.net
使用宏定義

C語言中,宏是產生內嵌代碼的惟一方法。對於嵌入式系統而言,爲了能達到性能要求,宏是一種很好的代替函數的方法。 寫一個"標準"宏MIN ,這個宏輸入兩個參數並返回較小的一個: 錯誤作法: #define MIN(A,B) ( A <= B ? A : B ) 正確作法: #define MIN(A,B) ((A)<= (B) ? (A) : (B) ) 對於宏,咱們須要知道三點: (1)宏定義"像"函數; (2)宏定義不是函數,於是須要括上全部"參數"; (3)宏定義可能產生反作用。 下面的代碼: least = MIN(*p++, b); 將被替換爲: ( (*p++) <= (b) ?(*p++):(b) ) 發生的事情沒法預料。 於是不要給宏定義傳入有反作用的"參數".
相關文章
相關標籤/搜索