生活中隨處可見的嵌入式技術(shù)說明在嵌入式正在改變著我們的生活,我們的生活中有很多的產(chǎn)品都是要使用到嵌入式技術(shù)的。在產(chǎn)品中會(huì)使用到嵌入式技術(shù)就是因?yàn)榍度胧较到y(tǒng)的安全性和可移植性,讓不同的行業(yè)都是會(huì)使用嵌入式,那么什么樣的嵌入式程序才是符合標(biāo)準(zhǔn)的呢?
1、不得使用類型char,必須聲明為unsigned char 或者 signed char。
2、禁止使用八進(jìn)制數(shù)。(因?yàn)?86U這樣的常數(shù)很容易引起誤解)。
3、在同一個(gè)編譯單元中,同一個(gè)標(biāo)識(shí)符不應(yīng)該同事具有內(nèi)部鏈接和外部鏈接的聲名。
4、不得定義與外部作用域中某個(gè)標(biāo)識(shí)符同名的對(duì)象,以避免遮蓋外部作用域中的標(biāo)識(shí)符。
5、外部對(duì)象不得在多個(gè)文件中聲名。
6、操作符&&和||的右側(cè)表達(dá)式不得具有副作用(side-effect)。 也就是說,象 if (x == 20 && ++y == 19)這樣的表達(dá)式被禁止。
7、不得對(duì)有符號(hào)數(shù)施加位操作,例如 1 << 4 將被禁止,必須寫 1UL << 4;
8、禁止從任意類型到指針的強(qiáng)制轉(zhuǎn)型,禁止從指針到任意類型的強(qiáng)制轉(zhuǎn)型。 例如:void* p = (void*)0xFFFF8888UL;
9、不得顯式判斷浮點(diǎn)數(shù)的相等性和不等性。
10、如果一個(gè)函數(shù)可能返回錯(cuò)誤信息,則調(diào)用后必須加以測(cè)試。
11、不得將棧對(duì)象的地址傳給外部作用域的對(duì)象。
12、在一個(gè)宏定義中,#或##符號(hào)只能出現(xiàn)一次。
13、禁止冗余的顯式轉(zhuǎn)型。比如: double pi = (double) 3.1416F
14、不得對(duì)有符號(hào)表達(dá)式施加一元 "-" 操作符。
15、禁止使用動(dòng)態(tài)堆分配(也就是不得使用malloc, calloc和realloc)。
以上就是粵嵌科技的小編給大家講解的關(guān)于嵌入式程序的合格標(biāo)準(zhǔn)的,大家可以對(duì)比下然后在工作的時(shí)候也才不會(huì)出錯(cuò)。嵌入式是一門永不過時(shí)的開發(fā)語言,當(dāng)然要學(xué)習(xí)的知識(shí)也是很多的,如果說你是想要學(xué)習(xí)嵌入式技術(shù)的話,那么可以點(diǎn)擊我們文章下面的獲取試聽資格按鈕來獲取我們的嵌入式培訓(xùn)免費(fèi)課程試聽資格,來和我們的講師進(jìn)行面對(duì)面的交流。也可以來我們粵嵌科技的嵌入式培訓(xùn)班進(jìn)行實(shí)地考察,在考察中可以了解到我們的師資力量、上課設(shè)置、課程安排等等。當(dāng)然如果說你在嵌入式上有什么技術(shù)的問題的話也是可以點(diǎn)擊我們的在線咨詢按鈕來咨詢我們的嵌入式培訓(xùn)講師的,我們會(huì)給到你專業(yè)上的回答。