




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、15.1C語言編程常見錯誤如果提示工具連接錯誤,則表示KEIL安裝程序有問題,重新卸載,并全部刪除后重新再進行安裝后即可。15.2KEILC程序調(diào)試常見錯誤Compling:C:8051MANN.CError:318:cantopenfilebeep.h說明在編譯C:8051MANN.C程序過程中由于main.c用了指令#include“beep.h”,但卻找不到所致解決方法編寫一個beep.h的包含檔并存入到c:8051的工作目錄中Compling:C:8051LED.CError237:LedOn:functionalreadyhasabody說明LedOn()函數(shù)名稱重復定義即有兩個以上
2、一樣的函數(shù)名稱解決方法修正其中的一個函數(shù)名稱使得函數(shù)名稱都是獨立的WARNING206:DelayX1ms:missingfunction-prototypeC:8051INPUT.CError267:DelayX1ms:requiresANSI-styleprototypeC:8051INPUT.C說明程序中有調(diào)用DelayX1ms函數(shù)但該函數(shù)沒定義即未編寫程序內(nèi)容或函數(shù)已定義但未作聲明解決方法編寫DelayX1ms的內(nèi)容編寫完后也要作聲明或作外部聲明可在delay.h的包含檔聲明成外部以便其它函數(shù)調(diào)用*WARNING1:UNRESOLVEDEXTERNALSYMBOLSYMBOL:MUSI
3、C3MODULE:C:8051MUSIC.OBJ(MUSIC)*WARNING2:REFERENCEMADETOUNRESOLVEDEXTERNALSYMBOL:MUSIC3MODULE:C:8051MUSIC.OBJ(MUSIC)ADDRESS:0018H說明程序中有調(diào)用MUSIC函數(shù)但未將該函數(shù)的含擴檔C加入到工程檔Prj作編譯和連接解決方法設(shè)MUSIC3函數(shù)在MUSICC里將MUSICC添加到工程文件中去*ERROR107:ADDESSSPACEOVERFLOWSPACE:DATASEGMENT:_DATA_GOUP_LENGTH:0018H*ERROR118:REFERENCEMADE
4、TOERRONEOUSEXTERNALSYMBOL:VOLUMEMODULE:C:8051OSDM.OBJ(OSDM)ADDRESS:4036H說明data存儲空間的地址范圍為00 x7f,當公用變量數(shù)目和函數(shù)里的局部變量如果存儲模式設(shè)為SMALL則局部變量先使用工作寄存器R2R7作暫存當存儲器不夠用時則會以data型別的空間作暫存的個數(shù)超過0 x7f時就會出現(xiàn)地址不夠的現(xiàn)象。解決方法將以data型別定義的公共變量修改為idata型別的定義15.3C編譯器錯誤信息中文翻譯Ambiguousoperatorsneedparentheses不明確的運算需要用括號括起Ambiguoussymbol、
5、xxx不明確的符號Argumentlistsyntaxerror參數(shù)表語法錯誤Arrayboundsmissing丟失數(shù)組界限符Arraysizetoolarge數(shù)組尺寸太大Badcharacterinparamenters參數(shù)中有不適當?shù)淖址鸅adfilenameformatinincludedirective包含命令中文件名格式不正確Badifdefdirectivesynatax編譯預處理ifdef有語法錯Badundefdirectivesyntax編譯預處理undef有語法錯Bitfieldtoolarge位字段太長Callofnon-function調(diào)用未定義的函數(shù)Calltofu
6、nctionwithnoprototype調(diào)用函數(shù)時沒有函數(shù)的說明Cannotmodifyaconstobject不允許修改常量對象Caseoutsideofswitch漏掉了case語句CasesyntaxerrorCase語法錯誤Codehasnoeffect代碼不可述不可能執(zhí)行到Compoundstatementmissing分程序漏掉Conflictingtypemodifiers不明確的類型說明符Constantexpressionrequired要求常量表達式Constantoutofrangeincomparison在比較中常量超出范圍Conversionmaylosesigni
7、ficantdigits轉(zhuǎn)換時會丟失意義的數(shù)字Conversionofnearpointernotallowed不允許轉(zhuǎn)換近指針Couldnotfindfile、xxx找不到XXX文件Declarationmissing;說明缺少;Declarationsyntaxerror說明中出現(xiàn)語法錯誤DefaultoutsideofswitchDefault出現(xiàn)在switch語句之外DefinedirectiveneedsanIdentifier定義編譯預處理需要標識符Divisionbyzero用零作除數(shù)DostatementmusthavewhileDo-while語句中缺少while部分Enum
8、syntaxerror枚舉類型語法錯誤Enumerationconstantsyntaxerror枚舉常數(shù)語法錯誤Errordirective:xxx錯誤的編譯預處理命令Errorwritingoutputfile寫輸出文件錯誤Expressionsyntaxerror表達式語法錯誤Extraparameterincall調(diào)用時出現(xiàn)多余錯誤Filenametoolong文件名太長Functioncallmissing)函數(shù)調(diào)用缺少右括號Fuctiondefinitionoutofplace函數(shù)定義位置錯誤Fuctionshouldreturnavalue函數(shù)必需返回一個值Gotostateme
9、ntmissinglabelGoto語句沒有標號Hexadecimaloroctalconstanttoolarge16進制或8進制常數(shù)太大Illegalcharacterx非法字符xIllegalinitialization非法的初始化Illegaloctaldigit非法的8進制數(shù)字Illegalpointersubtraction非法的指針相減Illegalstructureoperation非法的結(jié)構(gòu)體操作Illegaluseoffloatingpoint非法的浮點運算Illegaluseofpointer指針使用非法Improperuseofatypedefsymbol類型定義符號使
10、用不恰當In-lineassemblynotallowed不允許使用行間匯編Incompatiblestorageclass存儲類別不相容Incompatibletypeconversion不相容的類型轉(zhuǎn)換Incorrectnumberformat錯誤的數(shù)據(jù)格式IncorrectuseofdefaultDefault使用不當Invalidindirection無效的間接運算Invalidpointeraddition指針相加無效Irreducibleexpressiontree無法執(zhí)行的表達式運算Lvaluerequired需要邏輯值0或非0值Macroargumentsyntaxerror宏
11、參數(shù)語法錯誤Macroexpansiontoolong宏的擴展以后太長Mismatchednumberofparametersindefinition定義中參數(shù)個數(shù)不匹配Misplacedbreak此處不應出現(xiàn)break語句Misplacedcontinue此處不應出現(xiàn)continue語句Misplaceddecimalpoint此處不應出現(xiàn)小數(shù)點Misplacedelifdirective不應編譯預處理elifMisplacedelse此處不應出現(xiàn)elseMisplacedelsedirective此處不應出現(xiàn)編譯預處理elseMisplacedendifdirective此處不應出現(xiàn)編譯預
12、處理endifMustbeaddressable必須是可以編址的Musttakeaddressofmemorylocation必須存儲定位的地址Nodeclarationforfunction、xxx沒有函數(shù)xxx的說明Nostack缺少堆棧Notypeinformation沒有類型信息Non-portablepointerassignment不可移動的指針(地址常數(shù))賦值Non-portablepointercomparison不可移動的指針(地址常數(shù))比較Non-portablepointerconversion不可移動的指針(地址常數(shù))轉(zhuǎn)換Notavalidexpressionforma
13、ttype不合法的表達式格式Notanallowedtype不允許使用的類型Numericconstanttoolarge數(shù)值常太大Outofmemory內(nèi)存不夠用Parameterxxxisneverused能數(shù)XXX沒有用到Pointerrequiredonleftsideof-符號-的左邊必須是指針Possibleuseofxxxbeforedefinition在定義之前就使用了XXX(警告)Possiblyincorrectassignment賦值可能不正確Redeclarationofxxx重復定義了XXXRedefinitionofxxxisnotidenticalXXX的兩次定義
14、不一致Registerallocationfailure寄存器定址失敗Repeatcountneedsanlvalue重復計數(shù)需要邏輯值Sizeofstructureorarraynotknown結(jié)構(gòu)體或數(shù)給大小不確定Statementmissing;語句后缺少;Structureorunionsyntaxerror結(jié)構(gòu)體或聯(lián)合體語法錯誤Structuresizetoolarge結(jié)構(gòu)體尺寸太大Subscriptingmissing下標缺少右方括號Superfluous&withfunctionorarray函數(shù)或數(shù)組中有多余的&Suspiciouspointerconversion可疑的指針轉(zhuǎn)
15、換Symbollimitexceeded符號超限Toofewparametersincall函數(shù)調(diào)用時的實參少于函數(shù)的參數(shù)不ToomanydefaultcasesDefault太多(switch語句中一個)Toomanyerrororwarningmessages錯誤或警告信息太多Toomanytypeindeclaration說明中類型太多Toomuchautomemoryinfunction函數(shù)用到的局部存儲太多Toomuchglobaldatadefinedinfile文件中全局數(shù)據(jù)太多Twoconsecutivedots兩個連續(xù)的句點Typemismatchinparameterxxx
16、參數(shù)xxx類型不匹配Typemismatchinredeclarationof、XXXxxx重定義的類型不匹配Unabletocreateoutputfile、xxx無法建立輸出文件xxxUnabletoopenincludefilexxx無法打開被包含的文件xxxUnabletoopeninputfilexxx無法打開輸入文件xxxUndefinedlabelxxx沒有定義的標號xxxUndefinedstructurexxx沒有定義的結(jié)構(gòu)xxxUndefinedsymbolxxx沒有定義的符號xxxUnexpectedendoffileincommentstartedonlinexxx從x
17、xx行開始的注解尚未結(jié)束文件不能結(jié)束Unexpectedendoffileinconditionalstartedonlinexxx從xxx開始的條件語句尚未結(jié)束文件不能結(jié)束Unknownassembleinstruction41.UnknownassembleinstructionUserbreak用戶強行中斷了程序VoidfunctionsmaynotreturnavalueVoid類型的函數(shù)不應有返回值Wrongnumberofarguments調(diào)用函數(shù)的參數(shù)數(shù)目錯xxxnotanargumentxxx不是參數(shù)xxxnotpartofstructurexxx不是結(jié)構(gòu)體的一部分xxxsta
18、tementmissing(xxx語句缺少左括號xxxstatementmissing)xxx語句缺少右括號xxxstatementmissing;xxx缺少分號xxxdeclaredbutneverused說明了xxx但沒有使用xxxisassignedavaluewhichisneverused給xxx賦了值但未用過Zerolengthstructure結(jié)構(gòu)體的長度為零未知的匯編結(jié)構(gòu)未知的匯編結(jié)構(gòu)42.未知的操作43.UnknownoptionUnknownpreprocessordirective:、xxx不認識的預處理命令xxxUnreachablecode44.Unreachable
19、code無路可達的代碼45.constant字符串缺少引號Unterminatedstringorcharacter15.3KEILC常用警告原因及處理方法1.|二口田戸j丄日已丄呂-二conipillngkeyukey匚WS:warningC316:unterminatedconditionalslinking.ProgramSize:data=12.0 xdata=Ocode=544rr2358rr-0Ettoir(s)f2Wairning(s).原因:#ifndefkey_h#ifndefkey_hvoidkey(void);#endif應該修改為:#ifndefkey_h/如果沒有定義
20、,那么#definekey_h/重新定義voidkey(void);#endif如果keil在編譯過程中經(jīng)常出現(xiàn)對話框提示要保存的話,解決方法:把該文件夾放入英文文件夾下面,并且該文件夾最好用英文,不能用:要把該文件夾只讀去掉。Warning280:i:unreferencedlocalvariable說明局部變量i在函數(shù)中未作任何的存取操作解決方法消除函數(shù)中i變量的聲明Warning206:Music3:missingfunction-prototype說明Music3()函數(shù)未作聲明或未作外部聲明所以無法給其他函數(shù)調(diào)用解決方法將敘述voidMusic3(void)寫在程序的最前端作聲明如果
21、是其他文件的函數(shù)則要寫成externvoidMusic3(void),即作外部聲明*WARNING16:UNCALLEDSEGMENT,IGNOREDFOROVERLAYPROCESSSEGMENT:?PR?_DELAYX1MS?DELAY說明DelayX1ms()函數(shù)未被其它函數(shù)調(diào)用也會占用程序記憶體空間解決方法去掉DelayX1ms()函數(shù)或利用條件編譯#if.#endif,可保留該函數(shù)并不編譯*WARNING6:XDATASPACEMEMORYOVERLAPFROM:0025HTO:0025H說明外部資料ROM的0025H重復定義地址解決方法外部資料ROM的定義如下Pdataunsign
22、edcharXFR_ADC_at_0 x25其中XFR_ADC變量的名稱為0 x25,請檢查是否有其它的變量名稱也是定義在0 x25處并修正它.*WARNINGL15:MULTIPLECALLTOSEGMENTSEGMENT:?PR?_WRITE_GMVLX1_REG?D_GMVLX1CALLER1:?PR?VSYNC_INTERRUPT?MAINCALLER2:?C_C51STARTUP*WARNINGL15:MULTIPLECALLTOSEGMENTSEGMENT:?PR?_SPI_SEND_WORD?D_SPICALLER1:?PR?VSYNC_INTERRUPT?MAINCALLER2
23、:?C_C51STARTUP*WARNINGL15:MULTIPLECALLTOSEGMENTSEGMENT:?PR?SPI_RECEIVE_WORD?D_SPICALLER1:?PR?VSYNC_INTERRUPT?MAINCALLER2:?C_C51STARTUP該警告表示連接器發(fā)現(xiàn)有一個函數(shù)可能會被主函數(shù)和一個中斷服務程序(或者調(diào)用中斷服務程序的函數(shù))同時調(diào)用,或者同時被多個中斷服務程序調(diào)用。出現(xiàn)這種問題的原因之一:是這個函數(shù)是不可重入性函數(shù),當該函數(shù)運行時它可能會被一個中斷打斷,從而使得結(jié)果發(fā)生變化并可能會引起一些變量形式的沖突(即引起函數(shù)內(nèi)一些數(shù)據(jù)的丟失,可重入性函數(shù)在任何時候都可以被ISR打斷,一段時間后又可以運行,但是相應數(shù)據(jù)不會丟失)。原因之二:是用于局部變量和變量(暫且這樣翻譯arguments,自變量,變元一數(shù)值,用于確定程序或子程序的值)的內(nèi)存區(qū)被其他函數(shù)的內(nèi)存區(qū)所覆蓋,如果該函數(shù)被中斷,則它的內(nèi)存區(qū)就會被使用,這將導致其他函數(shù)的內(nèi)存沖突。例如,第一個警告中函數(shù)WRITE_GMVLX1_REG在D_GMVLX1.C或者D_GMVLX1.A51被定義,它被一個中斷服務程序或者一個調(diào)用了中斷服務程序的函數(shù)調(diào)用了,調(diào)用它的函數(shù)是VSYNC_INTERRUPT,在MAIN.C中。解決方法:如果你確定兩個函數(shù)決不會
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單縣2025屆六年級下學期小升初數(shù)學試卷含解析
- 北京信息職業(yè)技術(shù)學院《設(shè)計及應用》2023-2024學年第二學期期末試卷
- 寶雞中北職業(yè)學院《影視音樂鑒賞》2023-2024學年第一學期期末試卷
- 河北省石家莊新華區(qū)2024-2025學年初三下學期模擬英語試題含答案
- 遼寧金融職業(yè)學院《中藥文獻學》2023-2024學年第二學期期末試卷
- 大慶醫(yī)學高等專科學?!懂敶膶W史》2023-2024學年第二學期期末試卷
- 重慶智能工程職業(yè)學院《獸藥與獸醫(yī)生物制品》2023-2024學年第二學期期末試卷
- 山東中醫(yī)藥大學《化學基礎(chǔ)》2023-2024學年第二學期期末試卷
- 2025年山西省高三模擬練習聯(lián)合測驗試題語文試題及答案
- 2025空白房地產(chǎn)租賃合同管理研究
- Unit 2 Know your body(說課稿) -2024-2025學年外研版(三起)(2024)英語三年級下冊
- 6.3.1+平面向量基本定理(教學課件)-高一數(shù)學(人教A版2019)
- 酒店的突發(fā)事件及案例
- 【農(nóng)學課件】瓜類蔬菜栽培
- 三年級下冊兩位數(shù)乘兩位數(shù)豎式計算練習200題有答案
- 護士生涯職業(yè)生涯規(guī)劃
- 三級綜合醫(yī)院評審標準(2024年版)
- DB14∕T 2163-2020 信息化項目軟件運維費用測算指南
- 交換機調(diào)試報告范文
- 口服抗凝藥居家管理中國專家共識(2024版)
- 【衛(wèi)龍食品公司內(nèi)部控制現(xiàn)狀問題及優(yōu)化的案例分析7100字(論文)】
評論
0/150
提交評論