日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 熱搜器件
[導(dǎo)讀]微處理器一般用于特定環(huán)境和特定用途,出于成本、功耗和體積的考慮,一般都要求盡量節(jié)省使用資源,并且,由于微處理器硬件一般都不支持有符號(hào)數(shù)、浮點(diǎn)數(shù)的運(yùn)算,且運(yùn)算位有限,因此,分配變量時(shí)必須仔細(xì)。另外要說明的

微處理器一般用于特定環(huán)境和特定用途,出于成本、功耗和體積的考慮,一般都要求盡量節(jié)省使用資源,并且,由于微處理器硬件一般都不支持有符號(hào)數(shù)、浮點(diǎn)數(shù)的運(yùn)算,且運(yùn)算位有限,因此,分配變量時(shí)必須仔細(xì)。另外要說明的是,速度和存儲(chǔ)器的消耗經(jīng)常是2個(gè)不可兼顧的目標(biāo),在多數(shù)情況下,編程者必須根據(jù)實(shí)際情況作出權(quán)衡和取舍。

需要注意的事項(xiàng)如下:

1) 通常在滿足運(yùn)算需求的前提下,盡量選擇為變量定義字節(jié)少的數(shù)據(jù)類型。比如最常用的 int和 char, int是 16 位的, char 是8位的,如果沒有必要,不要使用 int,而且使用 char 也最好使用 unsigned char。運(yùn)行時(shí),可以在變量窗口看到,使用類型為unsigned char 的變量是 16 進(jìn)制的格式,而使用 int 的是十進(jìn)制格式,如果 char 沒有定義為 unsigned,會(huì)出現(xiàn)負(fù)號(hào),如果沒有必要的話,在 430 中是不需要負(fù)數(shù)的。

2) 盡量不用過長的數(shù)據(jù)類型,如 long、long long和 double

3) MSP430的 C編譯器不支持位尋址,所以運(yùn)算中盡量減少位操作,對(duì)于只有“是”和“否”的變量,如果RAM 容量允許,則可分配為 unsigned char類型,可提高運(yùn)算速度。如果分配為某字節(jié)的某個(gè)位,可以減少存儲(chǔ)器的消耗,但是會(huì)降低運(yùn)算速度

4) 避免使用浮點(diǎn)數(shù),盡量使用定點(diǎn)數(shù)進(jìn)行小數(shù)運(yùn)算。如果必須使用浮點(diǎn)數(shù),則盡量用 32 位的 float,而不是 64位的 double

5) 盡量將變量分配為無符號(hào)數(shù)據(jù)類型

6) 對(duì)于指針變量,如果聲明后其值不再改變,則聲明為 const 類型,這樣編譯器編

譯時(shí)能更好的優(yōu)化生成的代碼

7) 盡可能的使用局部變量而非全局變量或者靜態(tài)變量(static) 。這樣有利于編譯器編譯時(shí)更好的優(yōu)化生成的代碼

8) 避免對(duì)局部變量使用 &取地址符。因?yàn)檫@樣會(huì)使編譯器無法把此變量放在 CPU的寄存器中,而是放在RAM中,從而失去了優(yōu)化的機(jī)會(huì)

9) 僅在模塊內(nèi)使用的變量聲明為 static,有利于優(yōu)化代碼

10) 如果堆??臻g有限,盡量減少函數(shù)調(diào)用的層次和遞歸調(diào)用

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉