![C語(yǔ)言編程常見(jiàn)錯(cuò)誤和程序調(diào)試_第1頁(yè)](http://file4.renrendoc.com/view/1a7aaca3d709270d6e6c721991e3da44/1a7aaca3d709270d6e6c721991e3da441.gif)
![C語(yǔ)言編程常見(jiàn)錯(cuò)誤和程序調(diào)試_第2頁(yè)](http://file4.renrendoc.com/view/1a7aaca3d709270d6e6c721991e3da44/1a7aaca3d709270d6e6c721991e3da442.gif)
![C語(yǔ)言編程常見(jiàn)錯(cuò)誤和程序調(diào)試_第3頁(yè)](http://file4.renrendoc.com/view/1a7aaca3d709270d6e6c721991e3da44/1a7aaca3d709270d6e6c721991e3da443.gif)
![C語(yǔ)言編程常見(jiàn)錯(cuò)誤和程序調(diào)試_第4頁(yè)](http://file4.renrendoc.com/view/1a7aaca3d709270d6e6c721991e3da44/1a7aaca3d709270d6e6c721991e3da444.gif)
![C語(yǔ)言編程常見(jiàn)錯(cuò)誤和程序調(diào)試_第5頁(yè)](http://file4.renrendoc.com/view/1a7aaca3d709270d6e6c721991e3da44/1a7aaca3d709270d6e6c721991e3da445.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、15.1C語(yǔ)言編程常見(jiàn)錯(cuò)誤如果提示工具連接錯(cuò)誤,則表示KEIL安裝程序有問(wèn)題,重新卸載,并全部刪除后重新再進(jìn)行安裝后即可。15.2KEILC程序調(diào)試常見(jiàn)錯(cuò)誤Compling:C:8051MANN.CError:318:cantopenfilebeep.h說(shuō)明在編譯C:8051MANN.C程序過(guò)程中由于main.c用了指令#include“beep.h”,但卻找不到所致解決方法編寫一個(gè)beep.h的包含檔并存入到c:8051的工作目錄中Compling:C:8051LED.CError237:LedOn:functionalreadyhasabody說(shuō)明LedOn()函數(shù)名稱重復(fù)定義即有兩個(gè)以上
2、一樣的函數(shù)名稱解決方法修正其中的一個(gè)函數(shù)名稱使得函數(shù)名稱都是獨(dú)立的WARNING206:DelayX1ms:missingfunction-prototypeC:8051INPUT.CError267:DelayX1ms:requiresANSI-styleprototypeC:8051INPUT.C說(shuō)明程序中有調(diào)用DelayX1ms函數(shù)但該函數(shù)沒(méi)定義即未編寫程序內(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說(shuō)明程序中有調(diào)用MUSIC函數(shù)但未將該函數(shù)的含擴(kuò)檔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說(shuō)明data存儲(chǔ)空間的地址范圍為00 x7f,當(dāng)公用變量數(shù)目和函數(shù)里的局部變量如果存儲(chǔ)模式設(shè)為SMALL則局部變量先使用工作寄存器R2R7作暫存當(dāng)存儲(chǔ)器不夠用時(shí)則會(huì)以data型別的空間作暫存的個(gè)數(shù)超過(guò)0 x7f時(shí)就會(huì)出現(xiàn)地址不夠的現(xiàn)象。解決方法將以data型別定義的公共變量修改為idata型別的定義15.3C編譯器錯(cuò)誤信息中文翻譯Ambiguousoperatorsneedparentheses不明確的運(yùn)算需要用括號(hào)括起Ambiguoussymbol、
5、xxx不明確的符號(hào)Argumentlistsyntaxerror參數(shù)表語(yǔ)法錯(cuò)誤Arrayboundsmissing丟失數(shù)組界限符Arraysizetoolarge數(shù)組尺寸太大Badcharacterinparamenters參數(shù)中有不適當(dāng)?shù)淖址鸅adfilenameformatinincludedirective包含命令中文件名格式不正確Badifdefdirectivesynatax編譯預(yù)處理ifdef有語(yǔ)法錯(cuò)Badundefdirectivesyntax編譯預(yù)處理undef有語(yǔ)法錯(cuò)Bitfieldtoolarge位字段太長(zhǎng)Callofnon-function調(diào)用未定義的函數(shù)Calltofu
6、nctionwithnoprototype調(diào)用函數(shù)時(shí)沒(méi)有函數(shù)的說(shuō)明Cannotmodifyaconstobject不允許修改常量對(duì)象Caseoutsideofswitch漏掉了case語(yǔ)句CasesyntaxerrorCase語(yǔ)法錯(cuò)誤Codehasnoeffect代碼不可述不可能執(zhí)行到Compoundstatementmissing分程序漏掉Conflictingtypemodifiers不明確的類型說(shuō)明符Constantexpressionrequired要求常量表達(dá)式Constantoutofrangeincomparison在比較中常量超出范圍Conversionmaylosesigni
7、ficantdigits轉(zhuǎn)換時(shí)會(huì)丟失意義的數(shù)字Conversionofnearpointernotallowed不允許轉(zhuǎn)換近指針Couldnotfindfile、xxx找不到XXX文件Declarationmissing;說(shuō)明缺少;Declarationsyntaxerror說(shuō)明中出現(xiàn)語(yǔ)法錯(cuò)誤DefaultoutsideofswitchDefault出現(xiàn)在switch語(yǔ)句之外DefinedirectiveneedsanIdentifier定義編譯預(yù)處理需要標(biāo)識(shí)符Divisionbyzero用零作除數(shù)DostatementmusthavewhileDo-while語(yǔ)句中缺少while部分Enum
8、syntaxerror枚舉類型語(yǔ)法錯(cuò)誤Enumerationconstantsyntaxerror枚舉常數(shù)語(yǔ)法錯(cuò)誤Errordirective:xxx錯(cuò)誤的編譯預(yù)處理命令Errorwritingoutputfile寫輸出文件錯(cuò)誤Expressionsyntaxerror表達(dá)式語(yǔ)法錯(cuò)誤Extraparameterincall調(diào)用時(shí)出現(xiàn)多余錯(cuò)誤Filenametoolong文件名太長(zhǎng)Functioncallmissing)函數(shù)調(diào)用缺少右括號(hào)Fuctiondefinitionoutofplace函數(shù)定義位置錯(cuò)誤Fuctionshouldreturnavalue函數(shù)必需返回一個(gè)值Gotostateme
9、ntmissinglabelGoto語(yǔ)句沒(méi)有標(biāo)號(hào)Hexadecimaloroctalconstanttoolarge16進(jìn)制或8進(jìn)制常數(shù)太大Illegalcharacterx非法字符xIllegalinitialization非法的初始化Illegaloctaldigit非法的8進(jìn)制數(shù)字Illegalpointersubtraction非法的指針相減Illegalstructureoperation非法的結(jié)構(gòu)體操作Illegaluseoffloatingpoint非法的浮點(diǎn)運(yùn)算Illegaluseofpointer指針使用非法Improperuseofatypedefsymbol類型定義符號(hào)使
10、用不恰當(dāng)In-lineassemblynotallowed不允許使用行間匯編Incompatiblestorageclass存儲(chǔ)類別不相容Incompatibletypeconversion不相容的類型轉(zhuǎn)換Incorrectnumberformat錯(cuò)誤的數(shù)據(jù)格式IncorrectuseofdefaultDefault使用不當(dāng)Invalidindirection無(wú)效的間接運(yùn)算Invalidpointeraddition指針相加無(wú)效Irreducibleexpressiontree無(wú)法執(zhí)行的表達(dá)式運(yùn)算Lvaluerequired需要邏輯值0或非0值Macroargumentsyntaxerror宏
11、參數(shù)語(yǔ)法錯(cuò)誤Macroexpansiontoolong宏的擴(kuò)展以后太長(zhǎng)Mismatchednumberofparametersindefinition定義中參數(shù)個(gè)數(shù)不匹配Misplacedbreak此處不應(yīng)出現(xiàn)break語(yǔ)句Misplacedcontinue此處不應(yīng)出現(xiàn)continue語(yǔ)句Misplaceddecimalpoint此處不應(yīng)出現(xiàn)小數(shù)點(diǎn)Misplacedelifdirective不應(yīng)編譯預(yù)處理elifMisplacedelse此處不應(yīng)出現(xiàn)elseMisplacedelsedirective此處不應(yīng)出現(xiàn)編譯預(yù)處理elseMisplacedendifdirective此處不應(yīng)出現(xiàn)編譯預(yù)
12、處理endifMustbeaddressable必須是可以編址的Musttakeaddressofmemorylocation必須存儲(chǔ)定位的地址Nodeclarationforfunction、xxx沒(méi)有函數(shù)xxx的說(shuō)明Nostack缺少堆棧Notypeinformation沒(méi)有類型信息Non-portablepointerassignment不可移動(dòng)的指針(地址常數(shù))賦值Non-portablepointercomparison不可移動(dòng)的指針(地址常數(shù))比較Non-portablepointerconversion不可移動(dòng)的指針(地址常數(shù))轉(zhuǎn)換Notavalidexpressionforma
13、ttype不合法的表達(dá)式格式Notanallowedtype不允許使用的類型Numericconstanttoolarge數(shù)值常太大Outofmemory內(nèi)存不夠用Parameterxxxisneverused能數(shù)XXX沒(méi)有用到Pointerrequiredonleftsideof-符號(hào)-的左邊必須是指針Possibleuseofxxxbeforedefinition在定義之前就使用了XXX(警告)Possiblyincorrectassignment賦值可能不正確Redeclarationofxxx重復(fù)定義了XXXRedefinitionofxxxisnotidenticalXXX的兩次定義
14、不一致Registerallocationfailure寄存器定址失敗Repeatcountneedsanlvalue重復(fù)計(jì)數(shù)需要邏輯值Sizeofstructureorarraynotknown結(jié)構(gòu)體或數(shù)給大小不確定Statementmissing;語(yǔ)句后缺少;Structureorunionsyntaxerror結(jié)構(gòu)體或聯(lián)合體語(yǔ)法錯(cuò)誤Structuresizetoolarge結(jié)構(gòu)體尺寸太大Subscriptingmissing下標(biāo)缺少右方括號(hào)Superfluous&withfunctionorarray函數(shù)或數(shù)組中有多余的&Suspiciouspointerconversion可疑的指針轉(zhuǎn)
15、換Symbollimitexceeded符號(hào)超限Toofewparametersincall函數(shù)調(diào)用時(shí)的實(shí)參少于函數(shù)的參數(shù)不ToomanydefaultcasesDefault太多(switch語(yǔ)句中一個(gè))Toomanyerrororwarningmessages錯(cuò)誤或警告信息太多Toomanytypeindeclaration說(shuō)明中類型太多Toomuchautomemoryinfunction函數(shù)用到的局部存儲(chǔ)太多Toomuchglobaldatadefinedinfile文件中全局?jǐn)?shù)據(jù)太多Twoconsecutivedots兩個(gè)連續(xù)的句點(diǎn)Typemismatchinparameterxxx
16、參數(shù)xxx類型不匹配Typemismatchinredeclarationof、XXXxxx重定義的類型不匹配Unabletocreateoutputfile、xxx無(wú)法建立輸出文件xxxUnabletoopenincludefilexxx無(wú)法打開(kāi)被包含的文件xxxUnabletoopeninputfilexxx無(wú)法打開(kāi)輸入文件xxxUndefinedlabelxxx沒(méi)有定義的標(biāo)號(hào)xxxUndefinedstructurexxx沒(méi)有定義的結(jié)構(gòu)xxxUndefinedsymbolxxx沒(méi)有定義的符號(hào)xxxUnexpectedendoffileincommentstartedonlinexxx從x
17、xx行開(kāi)始的注解尚未結(jié)束文件不能結(jié)束Unexpectedendoffileinconditionalstartedonlinexxx從xxx開(kāi)始的條件語(yǔ)句尚未結(jié)束文件不能結(jié)束Unknownassembleinstruction41.UnknownassembleinstructionUserbreak用戶強(qiáng)行中斷了程序VoidfunctionsmaynotreturnavalueVoid類型的函數(shù)不應(yīng)有返回值Wrongnumberofarguments調(diào)用函數(shù)的參數(shù)數(shù)目錯(cuò)xxxnotanargumentxxx不是參數(shù)xxxnotpartofstructurexxx不是結(jié)構(gòu)體的一部分xxxsta
18、tementmissing(xxx語(yǔ)句缺少左括號(hào)xxxstatementmissing)xxx語(yǔ)句缺少右括號(hào)xxxstatementmissing;xxx缺少分號(hào)xxxdeclaredbutneverused說(shuō)明了xxx但沒(méi)有使用xxxisassignedavaluewhichisneverused給xxx賦了值但未用過(guò)Zerolengthstructure結(jié)構(gòu)體的長(zhǎng)度為零未知的匯編結(jié)構(gòu)未知的匯編結(jié)構(gòu)42.未知的操作43.UnknownoptionUnknownpreprocessordirective:、xxx不認(rèn)識(shí)的預(yù)處理命令xxxUnreachablecode44.Unreachable
19、code無(wú)路可達(dá)的代碼45.constant字符串缺少引號(hào)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應(yīng)該修改為:#ifndefkey_h/如果沒(méi)有定義
20、,那么#definekey_h/重新定義voidkey(void);#endif如果keil在編譯過(guò)程中經(jīng)常出現(xiàn)對(duì)話框提示要保存的話,解決方法:把該文件夾放入英文文件夾下面,并且該文件夾最好用英文,不能用:要把該文件夾只讀去掉。Warning280:i:unreferencedlocalvariable說(shuō)明局部變量i在函數(shù)中未作任何的存取操作解決方法消除函數(shù)中i變量的聲明Warning206:Music3:missingfunction-prototype說(shuō)明Music3()函數(shù)未作聲明或未作外部聲明所以無(wú)法給其他函數(shù)調(diào)用解決方法將敘述voidMusic3(void)寫在程序的最前端作聲明如果
21、是其他文件的函數(shù)則要寫成externvoidMusic3(void),即作外部聲明*WARNING16:UNCALLEDSEGMENT,IGNOREDFOROVERLAYPROCESSSEGMENT:?PR?_DELAYX1MS?DELAY說(shuō)明DelayX1ms()函數(shù)未被其它函數(shù)調(diào)用也會(huì)占用程序記憶體空間解決方法去掉DelayX1ms()函數(shù)或利用條件編譯#if.#endif,可保留該函數(shù)并不編譯*WARNING6:XDATASPACEMEMORYOVERLAPFROM:0025HTO:0025H說(shuō)明外部資料ROM的0025H重復(fù)定義地址解決方法外部資料ROM的定義如下Pdataunsign
22、edcharXFR_ADC_at_0 x25其中XFR_ADC變量的名稱為0 x25,請(qǐng)檢查是否有其它的變量名稱也是定義在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)有一個(gè)函數(shù)可能會(huì)被主函數(shù)和一個(gè)中斷服務(wù)程序(或者調(diào)用中斷服務(wù)程序的函數(shù))同時(shí)調(diào)用,或者同時(shí)被多個(gè)中斷服務(wù)程序調(diào)用。出現(xiàn)這種問(wèn)題的原因之一:是這個(gè)函數(shù)是不可重入性函數(shù),當(dāng)該函數(shù)運(yùn)行時(shí)它可能會(huì)被一個(gè)中斷打斷,從而使得結(jié)果發(fā)生變化并可能會(huì)引起一些變量形式的沖突(即引起函數(shù)內(nèi)一些數(shù)據(jù)的丟失,可重入性函數(shù)在任何時(shí)候都可以被ISR打斷,一段時(shí)間后又可以運(yùn)行,但是相應(yīng)數(shù)據(jù)不會(huì)丟失)。原因之二:是用于局部變量和變量(暫且這樣翻譯arguments,自變量,變?cè)粩?shù)值,用于確定程序或子程序的值)的內(nèi)存區(qū)被其他函數(shù)的內(nèi)存區(qū)所覆蓋,如果該函數(shù)被中斷,則它的內(nèi)存區(qū)就會(huì)被使用,這將導(dǎo)致其他函數(shù)的內(nèi)存沖突。例如,第一個(gè)警告中函數(shù)WRITE_GMVLX1_REG在D_GMVLX1.C或者D_GMVLX1.A51被定義,它被一個(gè)中斷服務(wù)程序或者一個(gè)調(diào)用了中斷服務(wù)程序的函數(shù)調(diào)用了,調(diào)用它的函數(shù)是VSYNC_INTERRUPT,在MAIN.C中。解決方法:如果你確定兩個(gè)函數(shù)決不會(huì)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 時(shí)尚產(chǎn)業(yè)辦公空間裝修協(xié)議
- 游泳池裝修終止合同
- 化妝品店內(nèi)部裝修合同細(xì)則
- 海上夜游航線乘客協(xié)議
- 智能園區(qū)砂石運(yùn)輸服務(wù)合同
- 潤(rùn)滑油國(guó)內(nèi)運(yùn)輸協(xié)議
- 2025年度安防設(shè)備展覽會(huì)專業(yè)展臺(tái)搭建合同
- 醫(yī)療器械配送服務(wù)合同
- 物業(yè)小區(qū)翻新服務(wù)方案
- 外架工勞務(wù)合同范例
- (康德一診)重慶市2025屆高三高三第一次聯(lián)合診斷檢測(cè) 英語(yǔ)試卷(含答案詳解)
- 2025年福建泉州文旅集團(tuán)招聘24人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 建筑行業(yè)砂石物資運(yùn)輸方案
- 腫瘤全程管理
- 融資報(bào)告范文模板
- 桃李面包盈利能力探析案例11000字
- GB/Z 30966.71-2024風(fēng)能發(fā)電系統(tǒng)風(fēng)力發(fā)電場(chǎng)監(jiān)控系統(tǒng)通信第71部分:配置描述語(yǔ)言
- 污泥處置合作合同模板
- 腦梗死的護(hù)理查房
- 2025高考數(shù)學(xué)專項(xiàng)復(fù)習(xí):概率與統(tǒng)計(jì)的綜合應(yīng)用(十八大題型)含答案
- 2024-2030年中國(guó)紫蘇市場(chǎng)深度局勢(shì)分析及未來(lái)5發(fā)展趨勢(shì)報(bào)告
評(píng)論
0/150
提交評(píng)論