新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 【經(jīng)驗(yàn)筆記】IAR常見錯誤及警告信息表

        【經(jīng)驗(yàn)筆記】IAR常見錯誤及警告信息表

        作者: 時間:2012-11-02 來源:網(wǎng)絡(luò) 收藏

        用慣了覺著它真的灰常強(qiáng)大(雖然UI界面有點(diǎn)簡單,沒有Keil和Eclipse做的那么炫),隨著使用的時間越來越長,不斷有新的技巧和功能被發(fā)掘,第一是不斷給俺帶來驚喜,第二是成就感自我感覺良好,第三也是最重要的就是功能的強(qiáng)大極大程度上方便了我們的產(chǎn)品開發(fā),所以如此“賢內(nèi)助”我們怎么舍得拒絕呢(這回輪到給做廣告了),哈哈~

        本文引用地址:http://www.104case.com/article/148280.htm

        不過令我們頭疼的是當(dāng)編譯程序時出現(xiàn)的一大堆,雖然大多數(shù)問題好解決,不過也有一些或者讓我們抓耳撓腮無所適從。所以這里我就列出IAR一些所代表的意思及相應(yīng)的處理方法,希望能對正在使用IAR的同志們有所幫助。另外本表主要是我在逛阿莫論壇時看到的,也沒有原作者相應(yīng)的信息,所以無法在這里感謝了,也因此我以“”的形式寫出來(當(dāng)然也有自己的一些批注)。下面我挑了一些重點(diǎn)的列出來并加以注釋,具體原版信息表見文章最后的附件:

        一、警告信息表:

        1.Macro name redefine(宏被重新定義)

        表示用#define定義的宏在程序中以不同形式的參數(shù)或者形式重新定義了。

        2.undeclared function parameter name; assumed int(為聲明的函數(shù)參數(shù)“name”,假設(shè)為“int”型)

        缺省情況下,函數(shù)定義頭部中未聲明的標(biāo)識符默認(rèn)為“int”型。

        3.unreferenced label name(未引用的標(biāo)號“name”)

        這個貌似最常遇到的警告之一了,常常我們定義了某個變量,但在程序中卻沒有使用它。

        4.unreachable returns, the function will never return.(不能到達(dá)的返回,即執(zhí)行不到RET指令,函數(shù)不能返回)

        函數(shù)永遠(yuǎn)不能返回到調(diào)用的函數(shù)中,這可能是程序設(shè)計的bug造成的。當(dāng)然如果是RTOS的話,這點(diǎn)是正常的,無需考慮,因?yàn)椴僮飨到y(tǒng)每一個任務(wù)就是無限循環(huán)。

        5.Floating point constant out of range.(浮點(diǎn)常數(shù)超出范圍)

        浮點(diǎn)值太大或者太小以致于不能使用目標(biāo)的浮點(diǎn)系統(tǒng)來表示。

        ... ...

        二、錯誤信息表:

        1.Invalid syntax(無效的語法)

        系統(tǒng)編譯器不能識別的語法,語句不符合標(biāo)準(zhǔn)。

        2.Failed to open #include file name(打開頭文件失?。?/p>

        這也是比較的錯誤,編譯器在編譯程序的時候找不到文件里包含的頭文件,可能頭文件不存在或者路徑不對等等。

        3.member name of struct or union redeclared(結(jié)構(gòu)體或者聯(lián)合體成員變量被重新聲明)

        這個錯誤也是比較常犯的,因忘記了在結(jié)構(gòu)體后者聯(lián)合體中已經(jīng)定義的變量,而在程序主體之中又重新定義或者聲明了這個變量。

        4.‘; ’ expected(忘記語句結(jié)束符'; ')

        這個貌似是最的錯誤了吧,估計好多新手都犯過這個錯誤,養(yǎng)成一個語句結(jié)尾都要加‘; '的好習(xí)慣是你從菜鳥邁向大牛很重要的一步。

        5.“else” without preceding “if”(“else”沒有前導(dǎo)的“if”)

        過多或者雜亂的使用if...else嵌套容易造成此類錯誤,常常丟三落四,所以養(yǎng)成好的編程風(fēng)格和習(xí)慣可以避免此類錯誤。

        ... ...

        錯誤和警告的類型很多很多,我這里列出來的只是冰山之一角了

        51單片機(jī)相關(guān)文章:51單片機(jī)教程




        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 东光县| 汽车| 武山县| 渭南市| 信丰县| 杨浦区| 正安县| 安阳市| 道孚县| 武清区| 垦利县| 兰坪| 斗六市| 石楼县| 全椒县| 绥化市| 承德县| 香河县| 建水县| 昂仁县| 河源市| 吉水县| 东乡| 仁布县| 错那县| 池州市| 民丰县| 保靖县| 邯郸县| 定安县| 长岭县| 通江县| 德惠市| 陆良县| 连江县| 靖西县| 察雅县| 视频| 东乌珠穆沁旗| 天祝| 锡林郭勒盟|