C語言嵌入式系統編程修鍊之效能最佳化篇

來源:互聯網
上載者:User

相關文章:

C語言嵌入式系統編程修鍊之背景

C語言嵌入式系統編程修鍊之軟體

C語言嵌入式系統編程修鍊之記憶體

C語言嵌入式系統編程修鍊之螢幕

C語言嵌入式系統編程修鍊之鍵盤

1.使用宏定義

在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))

發生的事情無法預料。

因而不要給宏定義傳入有副作用的“參數”。

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。