C語(yǔ)言編譯錯(cuò)誤信息.doc_第1頁(yè)
C語(yǔ)言編譯錯(cuò)誤信息.doc_第2頁(yè)
C語(yǔ)言編譯錯(cuò)誤信息.doc_第3頁(yè)
C語(yǔ)言編譯錯(cuò)誤信息.doc_第4頁(yè)
C語(yǔ)言編譯錯(cuò)誤信息.doc_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C語(yǔ)言編譯錯(cuò)誤信息表 C語(yǔ)言編譯錯(cuò)誤信息 Turbo C 編譯程序檢查源程序中三類出錯(cuò)信息:致命錯(cuò)誤、一般錯(cuò)誤和警告。 致命錯(cuò)誤出現(xiàn)很少,它通常是內(nèi)部編譯出錯(cuò)。在發(fā)生致命錯(cuò)誤時(shí),編譯立即停止,必須采取一些適當(dāng)?shù)拇胧┎⒅匦戮幾g。 一般錯(cuò)誤指程序的語(yǔ)法錯(cuò)誤、磁盤或內(nèi)存存取錯(cuò)誤或命令錯(cuò)誤等。編譯系統(tǒng)遇到這類錯(cuò)誤時(shí),一般也要停止編譯。警告并不阻止編譯進(jìn)行。它指出一些值得懷疑的情況,而這些情況本身又有可能合理地成為源程序的一部分。因此,警告信息只是提醒用戶注意,編譯過程并不停止。編譯系統(tǒng)在發(fā)現(xiàn)源程序中的各類錯(cuò)誤時(shí),首先顯示錯(cuò)誤信息,然后顯示源文件名和出錯(cuò)的行號(hào)。但必須注意,真正的錯(cuò)誤位置不一定準(zhǔn)在顯示出錯(cuò)的行上,也可能是在前一行或前幾行;有時(shí),好象發(fā)生了很多錯(cuò)誤,而實(shí)際上可能是由一個(gè)錯(cuò)誤造成的。下面按字母順序分別列出這三類錯(cuò)誤信息。對(duì)每一條信息,提供可能產(chǎn)生的原因和修正的方法。致命錯(cuò)誤1. Bad call of in-lint function內(nèi)部函數(shù)非法調(diào)用在使用一個(gè)宏定義的內(nèi)部函數(shù)時(shí),沒有正確調(diào)用。一個(gè)內(nèi)部函數(shù)以雙下劃線(-)開始和結(jié)束。2. Irreducible expression tree 不可約表達(dá)式樹這種錯(cuò)誤是由于源文件中的某些表達(dá)式使得代碼生成程序無法為它產(chǎn)生代碼。這種表達(dá)式必須避免使用。3. Registcr allocation failure 存儲(chǔ)器分配失效這種錯(cuò)誤指的是源文件行中的表達(dá)式太復(fù)雜,代碼生成程序無法為它生成代碼。此時(shí)應(yīng)簡(jiǎn)化這種復(fù)雜的表達(dá)式或干脆避免使用它。一般錯(cuò)誤 1. #Operator not followed by macro argument name#運(yùn)算符后無宏變量名。在宏定義中,#用于標(biāo)識(shí)一宏變量名?!?”后必須跟一宏變量名。 2. xxxxxxxxnor an argumentxxxxxxxx不是函數(shù)參數(shù)。在源程序中將該標(biāo)識(shí)符定義為一個(gè)函數(shù)參數(shù),但此標(biāo)識(shí)符沒有在函數(shù)表中出現(xiàn)。 3. Ambiguous symbol xxxxxxxx二義性符號(hào)xxxxxxxx。兩個(gè)或多個(gè)結(jié)構(gòu)的某一域名相同,但具有的偏移,類型不同。在變量或表達(dá)式中引用該域而未帶結(jié)構(gòu)名時(shí),將產(chǎn)生而一性,此時(shí)需修改某個(gè)域名或在引用時(shí)加上結(jié)構(gòu)名。 4. Argument #missing name參數(shù)#名丟失。參數(shù)名已脫離用于定義函數(shù)的函數(shù)原型。如果函數(shù)以原型定義,該函數(shù)必須包含所有的參數(shù)名。 5. Argument list syntax error參數(shù)表出現(xiàn)語(yǔ)法錯(cuò)誤。函數(shù)調(diào)用的參數(shù)間必須以逗號(hào)隔開,并以一右括號(hào)結(jié)束。若源文件中含有一個(gè)其后不是逗號(hào)也不是右括號(hào)的參數(shù),則出錯(cuò)。 6. Array bounds missing數(shù)組的界限符“”丟失。在源文件中定義了一個(gè)數(shù)組,但此數(shù)組沒有以一右方括號(hào)結(jié)束。 7. Array size too large數(shù)組長(zhǎng)度太大。定義的數(shù)組太大,可用內(nèi)存不夠。 8. Assembler statement too long匯編語(yǔ)句太長(zhǎng)。內(nèi)部匯編語(yǔ)句最長(zhǎng)不能超過程480字節(jié)。 9. Bad configuration file配置文件不正確。TURBOC.CFG配置文件中包含不是合適命令行選擇項(xiàng)的非注解文字。配置文件命令選擇項(xiàng)必須以一短橫線(-)開始。 10. Bad file name format in include directive使用include指令時(shí),文件名格式不正確。include文件名必須用引號(hào)(“filename.h“)或尖括號(hào)(filename.h)括起來,否則將產(chǎn)生此類錯(cuò)誤。如果使用了宏,則產(chǎn)生的擴(kuò)展正文也不正確(因?yàn)闊o引號(hào))。 11. Bad ifdef directive syntax ifdef 指令語(yǔ)法錯(cuò)誤。#ifdef必須包含一個(gè)標(biāo)識(shí)符(不 能是任何其他東西)作為該指令體。 12 . Bad ifndef directive syntax ifndef 指令語(yǔ)法錯(cuò)誤。#ifndef必須包含一個(gè)標(biāo)識(shí)符(不 能是任何其他東西)作為該指令體。 13 .Bad undef directive syntax Undef 指令語(yǔ)法錯(cuò)誤。#undef指令體必須包含一個(gè)標(biāo) 識(shí)符(不能是任何其他東西)作為指令體。 14. Bad file size syntax 位字段長(zhǎng)度語(yǔ)法錯(cuò)誤。一個(gè)位字段必須是1-16位的表 達(dá)式 。 15.Call of non-function 調(diào)用未定義函數(shù)。 正被調(diào)用的函數(shù)無定義,通常是 由于不正確的函數(shù)聲明或函數(shù)名拼錯(cuò)造成的。 16. Cannot modify a const object不能修改一個(gè)常量對(duì)象。對(duì)定義為常量的對(duì)象進(jìn)行不合法操作(如常量賦值)引起此類錯(cuò)誤。 17 .Case outside of switch Case 出現(xiàn)在switch外。編譯程序發(fā)現(xiàn) case語(yǔ)句出現(xiàn) switch語(yǔ)句外面,通常是由于括號(hào)不匹配造成的確。 18.Case statement missing Case語(yǔ)法漏掉。Case語(yǔ)句必須包含一個(gè)以冒號(hào)終結(jié) 的常量表達(dá)式??赡艿脑蚴莵G了冒號(hào)或在冒號(hào)前多 了別的符號(hào)。 19.Case syntax error Case 語(yǔ)法錯(cuò)誤。Case中包含了一些不正確符號(hào)。 20.Character constant too long 字符常量太長(zhǎng)。字符常量只能是一個(gè)或兩個(gè)字符長(zhǎng)。 21.Compound statement missing 復(fù)合語(yǔ)句漏掉了大括號(hào)“”。編譯程序掃描到源文件 時(shí)。未發(fā)現(xiàn)結(jié)束大括號(hào),通常是由于大括號(hào)不匹配造 成的。 22.Constant expression required 類型修飾符沖突。對(duì)同一指針,只能指定一種變地址 修飾符(如near 或far);而對(duì)于同一函數(shù),也只能出 一種語(yǔ)言修飾符(如cdecl、passcal 或interrupt)。 23 Constant expression required 要求常量表達(dá)式。數(shù)組的大小必須是常量,此類錯(cuò)誤 通常是由于#define常量的拼寫出錯(cuò)而引起的。 24Could not find XXXXXXXX.XXX 找不到XXXXXXXX文件。編譯程序找不到命令行 上給出的文件。 25 Declaration missing 說明漏掉:。在源文件中包含了一個(gè)struct 或union 域聲明,但后面漏掉了分號(hào)(;)。 26 Declaration needs type or storage class 說明必須給出類型或存儲(chǔ)類。說明必須包含一個(gè)類型 或一個(gè)存儲(chǔ)類。 27 Declartion syntax error 說明出現(xiàn)語(yǔ)法錯(cuò)誤。在源文件中,某個(gè)說明丟失了某 些符號(hào)或多余的符號(hào)。 28 Default outside of switch Default在switch外出現(xiàn)。編譯程序發(fā)現(xiàn)default語(yǔ)句出現(xiàn) 在switch語(yǔ)句之外,通常是由于括號(hào)不匹配造成的。 29 Default directive needs an identifer Default指令必須有一個(gè)標(biāo)識(shí)符。#define后面的第一個(gè) 非空格符必須是一個(gè)標(biāo)識(shí)符,若編譯程序發(fā)現(xiàn)一些其 他字符,則出現(xiàn)本錯(cuò)誤。 30 Division by Zero 除數(shù)為零。源文件的常量表達(dá)式中,出現(xiàn)除數(shù)為零的情 況。 31 Do statement must have while Do語(yǔ)句中必須有while。源文件中包含一個(gè)無while關(guān)鍵 字的do語(yǔ)句時(shí),出現(xiàn)此類錯(cuò)誤。 32. Do-while statement missing( Do-while 語(yǔ)句中漏掉了“(”。在do語(yǔ)句中,編譯程序 發(fā)現(xiàn)while關(guān)鍵字后無左括號(hào)。33. Do-while statement missing ) Do-while 語(yǔ)句中漏掉了“)”。在do語(yǔ)句中,編譯程 序發(fā)現(xiàn)條件表達(dá)式后無右括號(hào)。 34 Do-while statement missing; Do-while語(yǔ)句中漏掉了分號(hào)。在do語(yǔ)句中的條件表達(dá) 中,編譯程序發(fā)現(xiàn)右括號(hào)后面無分號(hào)。 35 Duplicate Case Case后的常量表達(dá)式重復(fù)。Switch語(yǔ)句的每個(gè)case必須 有一個(gè)唯一的常量表達(dá)式值。 36 Enum syntax error Enum語(yǔ)法出現(xiàn)錯(cuò)誤。Enum說明的標(biāo)識(shí)符表的格式不 對(duì)。 37 Eunmeration constant syntax error 枚舉常量語(yǔ)法錯(cuò)誤。賦給enum類型變量的表達(dá)式值不為 常量。 38. Error Directive :XXX Error指令:XXX。源文件處理#error指令時(shí),顯示該 指令的信息。 39 Error writing output file 寫輸出文件出現(xiàn)錯(cuò)誤。通常是由于磁盤空間滿造成 的,盡量刪掉一些不必要的文件。40 Expression syntax 表達(dá)式語(yǔ)法錯(cuò)誤。當(dāng)編譯程序分析一表達(dá)式發(fā)現(xiàn)一些嚴(yán) 重錯(cuò)誤時(shí),出現(xiàn)此類錯(cuò)誤,通常是由于兩個(gè)連續(xù)操作 符、括號(hào)不匹配或缺少括號(hào)、前一句漏掉了分號(hào)等引起 的。41 Extra parameter in call 調(diào)用時(shí)出現(xiàn)多余參數(shù)。調(diào)用函數(shù)時(shí),其實(shí)際參數(shù)個(gè)數(shù)多 余函數(shù)定義中的參數(shù)。42 Extra parameter in call to xxxxxxxx 調(diào)用XXXXXXXX函數(shù)時(shí)出現(xiàn)了多余的參數(shù)。其中該函 數(shù)由原型定義。43 File name too long 文件名太長(zhǎng)。#include指令給出的文件名太長(zhǎng),編譯程 序無法處理。DOS下的文件名不能超過64個(gè)字符。44 For statement missing ( For語(yǔ)句漏掉“(”。編譯程序發(fā)現(xiàn)在for關(guān)鍵字后缺少左 括號(hào)。45 For statement missing ) For語(yǔ)句缺少“)”。在for語(yǔ)句中編譯程序發(fā)現(xiàn)在控制表 達(dá)式后缺少右括號(hào)。46 For statement missing ; For語(yǔ)句缺少“;”。在for語(yǔ)句中,編譯程序發(fā)現(xiàn)在某個(gè) 表達(dá)式后缺少分號(hào)。47 Funchtion call missing ) 函數(shù)調(diào)用缺少“)”。函數(shù)調(diào)用的參數(shù)表有幾種語(yǔ)法錯(cuò) 誤,如左括號(hào)漏掉或括號(hào)不匹配。48 Function defintion out of place 函數(shù)定義位置錯(cuò)誤。函數(shù)定義不可出現(xiàn)在另一函數(shù)內(nèi)。 函數(shù)內(nèi)的任何說明,只要以類似于帶有一個(gè)參數(shù)表的函 數(shù)開始,就被認(rèn)為是一個(gè)函數(shù)定義。 49. Function doesnt take a variable number of argument 函數(shù)不接受可變的參數(shù)個(gè)數(shù)。源文件中的某個(gè)函數(shù)內(nèi)使 用了va_start宏,此函數(shù)不能接受可變數(shù)量的參數(shù)。 50. Goto statement missing label Goto語(yǔ)句缺少標(biāo)號(hào)。在Goto關(guān)鍵字后面必須有一個(gè)標(biāo)識(shí) 符。 51. If statement missing( If語(yǔ)句缺少“(”。在if語(yǔ)句中,編譯程序發(fā)現(xiàn)if關(guān)鍵字后 面缺少左括號(hào)。 52. If statement missing) If語(yǔ)句缺少“)”。在if語(yǔ)句中,編譯程序發(fā)現(xiàn)測(cè)試表達(dá)式 后缺少右括號(hào)。 53. Illegal character( (0xxx) 非法字符) (0xxx)。編譯程序發(fā)現(xiàn)輸入文件中有一些非 法字符。以十六進(jìn)制方式打印該字符。 54. Illegal initialization 非法初始化。初始化必須是常量表達(dá)式或一全局變量 extern或static的地址減一常量。 55. Illegal octal digit 非法八進(jìn)制數(shù)。編譯程序發(fā)現(xiàn)在一個(gè)八進(jìn)制常數(shù)中包含 了非八進(jìn)制數(shù)字(8或9)。 56. Illegal pointer subtraction 非法指針相減。這是由于試圖以一個(gè)非指針變量減去一 個(gè)指針變量而造成的。 57. Illegal structure operation 非法結(jié)構(gòu)操作。結(jié)構(gòu)只能使用(.),取地址(&)和賦值 (=)操作符,或作為函數(shù)的參數(shù)傳遞。當(dāng)編譯程序發(fā)現(xiàn) 結(jié)構(gòu)使用了其他操作時(shí),出現(xiàn)此類錯(cuò)誤。 58. Illegal use of floating point 浮點(diǎn)運(yùn)算非法。浮點(diǎn)運(yùn)算操作數(shù)不允許出現(xiàn)在移位,按 位邏輯操作,條件(?:),間接引用(*)以及其他一些 操作符中。編譯程序發(fā)現(xiàn)上述操作符中使用了浮點(diǎn)操作 數(shù)時(shí),出現(xiàn)此類錯(cuò)誤。 59. Illegal use of pointer 指針使用非法。指針只能在加,減,賦值,比較,間接 引用(*)或箭頭()操作中使用。如用其他操作符, 則出現(xiàn)此類錯(cuò)誤。 60. Improper use of a typedef syrnibol typedef符號(hào)使用不當(dāng)。源文件中使用了typedef符號(hào),變 量應(yīng)在一個(gè)表達(dá)式中出現(xiàn)。檢查一下此符號(hào)的說明和可 能的拼寫錯(cuò)誤。61. In-line assembly not allowed 內(nèi)部匯編語(yǔ)句不允許。源文件中含有直接插入的匯編語(yǔ)句,若在集成環(huán)境下進(jìn)行編譯,則出現(xiàn)此類錯(cuò)誤。必須使用TCC命令行編譯此源文件。62. Incompatible storage class 不相容的存儲(chǔ)類。源文件的一個(gè)函數(shù)定義中使用了extern關(guān)鍵字,而只有static(或根本沒有存儲(chǔ)類型)允許在函數(shù)說明中出現(xiàn)。Extern關(guān)鍵字只能在所有函數(shù)外說明。63. Incompatible type conversion 不相容的類型轉(zhuǎn)換。源文件中試圖把一種類型轉(zhuǎn)換成另一種類型。但這兩種類型是不相容的。如函數(shù)與非函數(shù)間轉(zhuǎn)換,一種結(jié)構(gòu)或數(shù)組與一種標(biāo)準(zhǔn)類型轉(zhuǎn)換,浮點(diǎn)數(shù)和指針間轉(zhuǎn)換等。64. Incorrect command line argument : xxxxxxxx 不正確的命令行參數(shù):xxxxxxxx 。編譯程序認(rèn)為此命令行參數(shù)是非法的。65. Incorrect configuration file argument : xxxxxxxx 不正確的配置文件參數(shù) :xxxxxxxx 。編譯程序認(rèn)為此配置文件是非法的。檢查一下前面的短橫線(-)。66. Incorrect number format 不正確的數(shù)據(jù)格式。編譯程序發(fā)現(xiàn)在十六進(jìn)制數(shù)中出現(xiàn)十進(jìn)制小數(shù)點(diǎn)。67. Incorrect use of default default不正確使用。編譯程序發(fā)現(xiàn)default關(guān)鍵字后缺少冒號(hào)。68. Initializer syntax error 初始化語(yǔ)法錯(cuò)誤。初始化過程缺少或多了操作符,括號(hào)不匹配或其他一些不正常情況。69. Invalid indirection 無效的間接運(yùn)算。間接運(yùn)算操作符(*)要求非void指針作為操作分量。70. Invalid macro argument separator 無效的宏參數(shù)分隔符。在宏定義中,參數(shù)必須用逗號(hào)相隔。編譯程序發(fā)現(xiàn)在參數(shù)名后面有其他非法字符時(shí),出現(xiàn)此類錯(cuò)誤。71. Invalid pointer addition 無效的指針相加。源程序中試圖把兩個(gè)指針相加。72. Invalid use of arrow 箭頭使用錯(cuò)。在箭頭()操作符后必須跟一標(biāo)識(shí)符。73. Invalid use of dot 點(diǎn)(.)操作符使用錯(cuò)。在點(diǎn)(.)操作符后必須跟一標(biāo)識(shí)符。74. Lvalue required 賦值請(qǐng)求。賦值操作符的左邊必須是一個(gè)地址表達(dá)式,包括數(shù)值變量,指針變量,結(jié)構(gòu)引用域,間接指針和數(shù)組分量。75. Macro argument syntax error 宏參數(shù)語(yǔ)法錯(cuò)誤。宏定義中的參數(shù)必須是一個(gè)標(biāo)識(shí)符。編譯程序發(fā)現(xiàn)所需的參數(shù)不是標(biāo)識(shí)符的字符,則出現(xiàn)此類錯(cuò)誤。76. Macro expansion too long 宏擴(kuò)展太長(zhǎng)。一個(gè)宏擴(kuò)展不能多于4096個(gè)字符。當(dāng)宏遞歸擴(kuò)展自身時(shí),常出現(xiàn)此類錯(cuò)誤。宏不能對(duì)自身進(jìn)行擴(kuò)展。77. May compile only one file when an output file name is given 給出一個(gè)輸出文件名時(shí),可能只編譯一個(gè)文件。在命令行編譯中使用-O選擇,只允許一個(gè)輸出文件名。此時(shí),只編譯第一個(gè)文件,其他文件被忽略。78. Mismatch number of parameters in defirnition 定義中參數(shù)個(gè)數(shù)不匹配。定義中的參數(shù)和函數(shù)原型中提供的信息不匹配。79. Misplaced break break位置錯(cuò)誤。編譯程序發(fā)現(xiàn)break語(yǔ)句在switch語(yǔ)句或循環(huán)結(jié)構(gòu)外。80. Misplaced continue Continue位置錯(cuò)誤。編譯程序發(fā)現(xiàn)continue語(yǔ)句在循環(huán)結(jié)構(gòu)外。81. Misplaced decimal point 十進(jìn)制小數(shù)點(diǎn)位置錯(cuò)。編譯程序發(fā)現(xiàn)浮點(diǎn)常數(shù)的指數(shù)部分有一個(gè)十進(jìn)制小數(shù)點(diǎn)。82. Misplaced else else位置錯(cuò)誤。編譯程序發(fā)現(xiàn)else語(yǔ)句缺少與之相匹配的if語(yǔ)句。此類錯(cuò)誤的產(chǎn)生,除了由于else多余外,還有可能是由于有多余的分號(hào),漏寫了大括號(hào)或前面的if語(yǔ)句出現(xiàn)語(yǔ)法錯(cuò)誤而引起。83. Misplaced elif directive elif指令位置錯(cuò)。編譯程序沒有發(fā)現(xiàn)與=elif指令相匹配的#if,#ifdef或#ifndef指令。84. Misplaced else directive else指令位置錯(cuò)。編譯程序沒有發(fā)現(xiàn)與#else指令相匹配的#if,#ifdef或#ifdef指令。85. Misplaced endif directive endif指令位置錯(cuò)。編譯程序沒有發(fā)現(xiàn)與#endif指令相匹配的#if,#ifndef或#ifndef指令。86. Must be addressable 必須是可編址的。取址操作符(&)作用于一個(gè)不可編址的對(duì)象,如寄存器變量。87. Must take address of memory location 必須是內(nèi)存一地址。源文件中某一表達(dá)式使用了不可編譯地址操作符(&),如對(duì)寄存器變量。88. No file name ending 無文件名終止符。在#include語(yǔ)句中,文件名缺少正缺的閉引號(hào)(”)或尖括號(hào)()。89. No file names given 未給出文件名。Turbo命令行編譯(TCC)中沒有任何文件。編譯必須有一文件。90. Non-portable pointer assignment 對(duì)不可移植的指針賦值。源程序中將一個(gè)指針賦給一個(gè)非指針,或相反。但作為特例,允許把常量零賦給一個(gè)指針。如果比較恰當(dāng),可以強(qiáng)行抑制本錯(cuò)誤信息。91. Non-portable pointer comparison 不可移植的指針比較。源程序中將一個(gè)指針和一個(gè)非指針(常量零除外)進(jìn)行比較。如果比較恰當(dāng),應(yīng)強(qiáng)行抑制本錯(cuò)誤信息。92. Non-portable return type conversion 不可移植的反回類型轉(zhuǎn)換。在反回語(yǔ)句中的表達(dá)式類型與函數(shù)說明中的類型不同。但如果函數(shù)的返回表達(dá)式是一指針,則可以進(jìn)行轉(zhuǎn)換。此時(shí),返回指針的函數(shù)可能送回一個(gè)常量零,而零被轉(zhuǎn)換成一個(gè)適當(dāng)?shù)闹羔樦怠?3. Not an allowed type 不允許的類型。在源文件中說明了幾種禁止了的類型,如函數(shù)返回一個(gè)函數(shù)或數(shù)組。94. Out of memory 內(nèi)存不夠。所有工作內(nèi)存用完,應(yīng)把文件放到一臺(tái)有較大內(nèi)存的機(jī)器去執(zhí)行或簡(jiǎn)化源程序。此類錯(cuò)誤也往往出現(xiàn)在集成開發(fā)環(huán)境中運(yùn)行較大的程序,這時(shí)可退出集成開發(fā)環(huán)境,再運(yùn)行你自己的程序。95. Pointer required on left side of 操作符左邊須是一指針。96. Redeclaration of xxxxxxxx xxxxxxxx重定義。此標(biāo)識(shí)符已經(jīng)定義過。97. Size of structure or array not known 結(jié)構(gòu)或數(shù)組大小不定。有些表達(dá)式(如sizeof或存儲(chǔ)說明)中出現(xiàn)一個(gè)未定義的結(jié)構(gòu)或一個(gè)空長(zhǎng)度數(shù)組。如果結(jié)構(gòu)長(zhǎng)度不需要,在定義之前就可引用;如果數(shù)組不申請(qǐng)存儲(chǔ)空間或者初始化時(shí)給定了長(zhǎng)度,那么就可定義為空長(zhǎng)。98. Statement missing; 語(yǔ)句缺少“;”。編譯程序發(fā)現(xiàn)一表達(dá)式語(yǔ)句后面沒有分號(hào)。99. Structure or union syntax error 結(jié)構(gòu)或聯(lián)合語(yǔ)法錯(cuò)誤。編譯程序發(fā)現(xiàn)在struct或union關(guān)鍵字后面沒有標(biāo)識(shí)符或左花括號(hào)。100. Structure size too large結(jié)構(gòu)太大。源文件中說明了一個(gè)結(jié)構(gòu),它所需的內(nèi)存區(qū)域太大以致存儲(chǔ)空間不夠。101. Subscripting missing 下標(biāo)缺少。編譯程序發(fā)現(xiàn)一個(gè)下標(biāo)表達(dá)式缺少右方括號(hào),可能是由于漏掉或多寫操作符或括號(hào)不匹配引起的。102. Switch statement missing (switch語(yǔ)句缺少(。在switch語(yǔ)句中,關(guān)鍵字switch后面缺少左括號(hào)。103. Switch statement missing )switch語(yǔ)句缺少)。在switch語(yǔ)句中,變量表達(dá)式后面缺少右括號(hào)。104. Too few parameters in call函數(shù)調(diào)用參數(shù)不夠。對(duì)帶有原型的函數(shù)調(diào)用(通過一個(gè)函數(shù)指針)參數(shù)不夠。原型要求給出所有參數(shù)。105. Too few parameter in call to xxxxxxxx調(diào)用xxxxxxxx時(shí)參數(shù)不夠。調(diào)用指定的函數(shù)(該函數(shù)用一原型聲明)時(shí),給出的參數(shù)不夠。106. Too many casesCase太多。switch語(yǔ)句最多只能有257個(gè)Case。107. Too many decimal points十進(jìn)制小數(shù)點(diǎn)太多。編譯程序發(fā)現(xiàn)一個(gè)浮點(diǎn)常量中帶有不止一個(gè)的十進(jìn)制小數(shù)點(diǎn)。108.Too many default casesdefult太多。編譯程序發(fā)現(xiàn)一個(gè)switch語(yǔ)句中有不止一個(gè)defult語(yǔ)句。109.Too many exponents 階碼太多。編譯程序發(fā)現(xiàn)一個(gè)浮點(diǎn)常量中有不止一個(gè)的階碼。110.Too many initializers 初始化太多。編譯程序發(fā)現(xiàn)初始化比說明所允許的要多。111.Too many storage classes in declaration 說明中存儲(chǔ)類太多。一個(gè)說明只允許有一個(gè)存儲(chǔ)類。112.Too many types in declaration 說明中類型太多。一個(gè)說明只允許有一種下列基本類型: char,int,float,double,struct,union,enum或typedef名。113.Too much auto memory in fuction 函數(shù)中自動(dòng)存儲(chǔ)太多。當(dāng)前函數(shù)聲明的自動(dòng)存儲(chǔ)(局部變量)超過了可用的存儲(chǔ)器空間。114.Too much code define in file 文件定義的帶碼太多。當(dāng)前文件中函數(shù)的總長(zhǎng)超過了64k字節(jié)??梢砸迫ゲ槐匾拇a或把源文件分開來寫。115.Too much global data define in file 文件中定義的全程數(shù)據(jù)太多。全程數(shù)據(jù)聲明的總數(shù)超過了卻64K字節(jié)。檢查一下一些數(shù)組的定義是否太長(zhǎng)。如果所有的說明都是必要的,考慮重新組織程序。116.Two consecutive dots 兩個(gè)連續(xù)點(diǎn)。因?yàn)槭÷蕴?hào)包含三個(gè)點(diǎn)(),而十進(jìn)制小數(shù)點(diǎn)和選擇操作符使用一個(gè)點(diǎn)(.),所以在C程序中出現(xiàn)兩個(gè)連續(xù)點(diǎn)是不允許的。117.Type mismatch in parameter # 第二個(gè)參數(shù)類型不匹配。通過一個(gè)指令訪問已由原型說明的參數(shù)時(shí),給定第#參數(shù)(從左到右)不能轉(zhuǎn)換為已說明的參數(shù)類型。118.Type mismatch in parameter # in call to XXXXXXXX 調(diào)用XXXXXXXX時(shí),第#個(gè)參數(shù)不匹配.源文件中通過一個(gè)原型說明了指定的函數(shù), 而所指定的參數(shù)不能轉(zhuǎn)換為已說明的參數(shù)類型.119.Type mismatch in parameterXXXXXXXX 函數(shù)XXXXXXXX類型不匹配.源文件中由原型說明了指定的函數(shù),. 而所指定的參數(shù)不能轉(zhuǎn)換為已說明的參數(shù)類型.120.Type mismatch in parameter XXXXXXXX in call to YYYYYYYY 調(diào)用YYYYYYYY時(shí),參數(shù)XXXXXXXXX 類型不匹配. 源文件中由原型說明了指定的參數(shù), 而所指定的參數(shù)不能轉(zhuǎn)換為另一個(gè)已說明的參數(shù)類型.121. Type mismatch in redeclaration of XXX 重定義類型不匹配. 源文件中把一個(gè)已說明的變量重新說明為另一種類型.如果一個(gè)函數(shù)被調(diào)用,而后又被說明成返回非整型值也會(huì)產(chǎn)生此類錯(cuò)誤.在這種情況下,必須在第一個(gè)調(diào)用函數(shù)前,給函數(shù)加上extern說明.122.Unable to creat output file XXXXXXXX.XXX 不能創(chuàng)建輸出文件XXXXXXXX.XXX.當(dāng)工作軟盤已滿或有寫保護(hù)時(shí)產(chǎn)生此類錯(cuò)誤. 如果軟盤已滿,刪除一些不必要的文件后重新編譯; 如果軟盤有寫保護(hù),把源文件移到一個(gè)可寫的軟盤上并重新編譯.123. Unable to creat turboc.lnk 不能創(chuàng)建turboc.lnk. 編譯程序不能創(chuàng)建臨時(shí)文件TURBOC.LNK,因?yàn)樗荒艽嫒〈疟P或者磁盤已滿.124. Unable to execute command XXXXXXXX 不能執(zhí)行XXXXXXXXX命令.找不到TLINK或MASM,或者磁盤出錯(cuò).125. Unable to open include file XXXXXXXX.XXX 不能打開包含文件XXXXXXXX.XXX. 編譯程序找不到該包含文件.可能是由于一個(gè)# include文件包含它本身而引起的,也可能是根目錄下的config.sys中沒有設(shè)置能同時(shí)打開的文件個(gè)數(shù).126. Unable to open input file XXXXXXXX.XXX 不能打開輸入文件XXXXXXX.XXX.當(dāng)編譯程序找不到源文件時(shí)出現(xiàn)此類錯(cuò)誤.檢查文件名是否拼寫錯(cuò)或檢查對(duì)應(yīng)的軟盤是否有此文件.127.Undefined label XXXXXXXXX 標(biāo)號(hào)XXXXXXXXX未定義.函數(shù)中g(shù)oto語(yǔ)句后的標(biāo)號(hào)沒有定義.128.Undefined structure XXXXXXXX 結(jié)構(gòu)XXXXXXXX未定義.源文件中使用了未經(jīng)說明的某個(gè)結(jié)構(gòu).可能是由于結(jié)構(gòu)名拼寫錯(cuò)或缺少結(jié)構(gòu)說明而引起.129.Undefined symbol XXXXXXXX 符號(hào)XXXXXXXX未定義.標(biāo)識(shí)符無定義,可能是由于說明或引用處有拼寫錯(cuò)誤,也可能是由于標(biāo)識(shí)符說明錯(cuò)誤引起.130.Unexpected end of file in comment started on line # 源文件在第#個(gè)注釋行中意外結(jié)束.通常是由于注釋結(jié)束標(biāo)志(*/)漏掉引起.131.Unexpected end of file in conditional stated on line # 源文件在#行開始的條件語(yǔ)句中意外結(jié)束.在編譯程序遇到#endif前源程序,通常是由于#endif漏掉或拼寫錯(cuò)誤引起的.132.Unknown preprocessor directive XXX 不認(rèn)識(shí)的預(yù)處理指令:XXX.編譯程序在某行的開始遇到#字符,但其后的指令名不是下列之一:define,undef,line,if,ifdef,include,else或endif.133.Unterminated character constant 未終結(jié)的字符常量.編譯程序發(fā)現(xiàn)一個(gè)不匹配的省略符.134.Unterminated string 未終結(jié)的串.編譯程序發(fā)現(xiàn)一個(gè)不匹配的引號(hào).135.Unterminated string or character constant 未終結(jié)的串或字符常量.編譯程序發(fā)現(xiàn)串或字符常量開始后沒有終結(jié).136.User break 用戶中斷.在集成環(huán)境里進(jìn)行編譯或連接時(shí)用戶按下了Ctrl-Break鍵.137.While statement missing ( while語(yǔ)句漏掉(.在while語(yǔ)句中,關(guān)鍵字while后缺少左括號(hào).138.While statement missing ) while語(yǔ)句漏掉).在while語(yǔ)句中,關(guān)鍵字while后缺少右括號(hào).139.Wrong number of aeguments in of XXXXXXXXX 調(diào)用XXXXXXXXXX時(shí)參數(shù)個(gè)數(shù)錯(cuò)誤.源文件中調(diào)用某個(gè)宏時(shí),參數(shù)個(gè)數(shù)不對(duì).警告1.XXXXXXXXX declared but never used 所明了XXXXXXXXX但未使用.在源文件中說明了此變量,但沒有使用.當(dāng)編譯程序遇到復(fù)合語(yǔ)句或函數(shù)的結(jié)束處時(shí),發(fā)出此警告.2.XXXXXXXXX is assigned a value while is never used XXXXXXXXX被賦值,沒有使此變量出現(xiàn)在一個(gè)賦值語(yǔ)句中,但直到函數(shù)結(jié)束都未使用過.3.XXXXXXXXX not part of structure XXXXXXXXX不是結(jié)構(gòu)的一部分.出現(xiàn)在點(diǎn)(.)或箭頭()左邊的域名不是結(jié)構(gòu)的一部分,或者點(diǎn)的左邊不是結(jié)構(gòu),箭頭的左邊不指向結(jié)構(gòu).4.Ambigiguous operators need parentheses 二義性操作符需要括號(hào).當(dāng)兩個(gè)位移,關(guān)系或按位操作符在一起使用而不加括號(hào)時(shí),發(fā)出此警告;當(dāng)一加法或減法操作符不加括號(hào)與一位移操作符出現(xiàn)時(shí),也發(fā)出此警告.程序員總是混淆這些操作符的優(yōu)先.因?yàn)樗鼈兊膬?yōu)先級(jí)不太直觀.5.Both return and return of a value used 既用返回又用返回值.編譯程序發(fā)現(xiàn)同時(shí)有帶值返回和不帶值返回的return語(yǔ)句,發(fā)出此類警告.6.Call to function with prototype 調(diào)用無原型函數(shù).如果”原型請(qǐng)求”警告可用,且又調(diào)用了一個(gè)無原型的函數(shù),就發(fā)出此類警告.7.Call to function XXXX with prototype 調(diào)用無原型的XXXX函數(shù).如果”原型請(qǐng)求”警告可用,且又調(diào)用了一個(gè)原先沒有原型的函數(shù)XXXX, 就發(fā)出此類警告.8.Code has no effect 代碼無效.當(dāng)編譯程序遇到一個(gè)含無效操作符的語(yǔ)句時(shí),發(fā)出此類警告.如語(yǔ)句:a+b,對(duì)每一變量都不起作用,無需操作,且可能引出一個(gè)錯(cuò)誤.9.Constant is long 常量是long類型.當(dāng)編譯程序遇到一個(gè)十進(jìn)制常量大于32767,或一個(gè)八進(jìn)制常量大于65535而其后沒有字母I或L時(shí),把此常量當(dāng)作long類型處理.10.Contant out of range in comparision 比較時(shí)常量超出了范圍.在源文件中有一個(gè)比較,其一個(gè)常量子表達(dá)式超出了另一個(gè)子表達(dá)式類型所允許的范圍.如一個(gè)無符號(hào)常量跟-1比較就沒有意義.為得到一大于32767的無符號(hào)常量,可在常量前加上unsigned或在常量后加上字母u或U.11.Conversion may lose significant digits 轉(zhuǎn)換可能丟失高位數(shù)字.在賦值表達(dá)式操作或其他情況下,源程序要求把long或unsigned long類型轉(zhuǎn)變成int或unsigned int類型.在有些機(jī)器上,因?yàn)閕nt型和long型變量具有相同長(zhǎng)度,這種轉(zhuǎn)換可能改變程序的輸出特性.12.function should return value 函數(shù)應(yīng)該返回一個(gè)值. 源文件中說明的當(dāng)前函數(shù)的返回類型既非int型也非void型,但編譯程序未發(fā)現(xiàn)返回值.返回int型的函書可以不說明.13.Mixing pointers to signed and unsigned char 混淆signed和unsigned字符指針.沒有通過顯式的強(qiáng)制類型轉(zhuǎn)換,就把一個(gè)字符指針變?yōu)闊o符號(hào)指針,或相反。14. No declaration for function xxxxxxxx函數(shù)xxxxxxxx沒有說明。當(dāng)“說明請(qǐng)求”警告可用,而又調(diào)用了一個(gè)沒有預(yù)先說明的函數(shù)時(shí),發(fā)出此警告。函數(shù)說明可以是傳統(tǒng)的,也可以是現(xiàn)代的風(fēng)格。15. Non-portable pointer assignment 不可移植指針賦值。源文件中把一個(gè)指針賦給另一非指針,或相反。作為特例,可以把常量賦給一指針。如果合適,可以強(qiáng)行抑制本警告。16. Non-portable pointer comparision 不可移植指針比較。源文件中把一個(gè)指針和另一非指針(非常量零)作比較。如果合適,可以強(qiáng)行抑制本警告。17. Non-portable return type conversion 不可移植返回類型轉(zhuǎn)換。return語(yǔ)句中的表達(dá)式類型和函數(shù)說明的類型不一致。作為特例,如果函數(shù)或返回表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論