程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 基於Turbo C(V2.0)編譯錯誤信息的詳細介紹

基於Turbo C(V2.0)編譯錯誤信息的詳細介紹

編輯:C語言基礎知識

說明:Turbo C 的源程序錯誤分為三種類型:致命錯誤、一般錯誤和警告。其中,致命錯誤通常是內部編譯出錯;一般錯誤指程序的語法錯誤、磁盤或內存存取錯誤或命令行錯誤等;警告則只是指出一些得懷疑的情況,它並不防止編譯的進行。

  下面按字母順序A~Z分別列出致命錯誤及一般錯誤信息,英漢對照及處理方法:

(一)、致命錯誤英漢對照及處理方法:

A-B致命錯誤

Bad call of in-line function (內部函數非法調用)
分析與處理:在使用一個宏定義的內部函數時,沒能正確調用。一個內部函數以兩個下劃線(__)開始和結束。

Irreducable expression tree (不可約表達式樹)
分析與處理:這種錯誤指的是文件行中的表達式太復雜,使得代碼生成程序無法為它生成代碼。這種表達式必須避免使用。

Register allocation failure (存儲器分配失敗)
分析與處理:這種錯誤指的是文件行中的表達式太復雜,代碼生成程序無法為它生成代碼。此時應簡化這種繁雜的表達式或干脆避免使用它。

(二)、一般錯誤信息英漢照及處理方法

#operator not followed by maco argument name(#運算符後沒跟宏變元名)
分析與處理:在宏定義中,#用於標識一宏變串。“#”號後必須跟一個宏變元名。

'xxxxxx' not anargument ('xxxxxx'不是函數參數)
分析與處理:在源程序中將該標識符定義為一個函數參數,但此標識符沒有在函數中出現。

Ambiguous symbol 'xxxxxx' (二義性符號'xxxxxx')
分析與處理:兩個或多個結構的某一域名相同,但具有的偏移、類型不同。在變量或表達式中引用該域而未帶結構名時,會產生二義性,此時需修改某個域名或在引用時加上結構名。

Argument # missing name (參數#名丟失)
分析與處理:參數名已脫離用於定義函數的函數原型。如果函數以原型定義,該函數必須包含所有的參數名。 Argument list syntax error (參數表出現語法錯誤)
分析與處理:函數調用的參數間必須以逗號隔開,並以一個右括號結束。若源文件中含有一個其後不是逗號也不是右括號的參數,則出錯。

Array bounds missing (數組的界限符"]"丟失)
分析與處理:在源文件中定義了一個數組,但此數組沒有以下右方括號結束。

Array size too large (數組太大)
分析與處理:定義的數組太大,超過了可用內存空間。

Assembler statement too long (匯編語句太長)
分析與處理:內部匯編語句最長不能超過480字節。

Bad configuration file (配置文件不正確)
分析與處理:TURBOC.CFG配置文件中包含的不是合適命令行選擇項的非注解文字。配置文件命令選擇項必須以一個短橫線開始。

Bad file name format in include directive(包含指令中文件名格式不正確)
分析與處理:包含文件名必須用引號("filename.h")或尖括號(<filename>)括起來,否則將產生本類錯誤。如果使用了宏,則產生的擴展文本也不正確,因為無引號沒辦法識別。

Bad ifdef directive syntax (ifdef指令語法錯誤)
分析與處理:#ifdef必須以單個標識符(只此一個)作為該指令的體。

Bad ifndef directive syntax (ifndef指令語法錯誤)
分析與處理:#ifndef 必須以單個標識符(只此一個)作為該指令的體。

Bad undef directive syntax (undef指令語法錯誤)
分析與處理:#undef指令必須以單個標識符(只此一個)作為該指令的體。

Bad file size syntax (位字段長語法錯誤)
分析與處理:一個位字段長必須是1—16位的常量表達式。

Call of non-functin (調用未定義函數)
分析與處理:正被調用的函數無定義,通常是由於不正確的函數聲明或函數名拼錯而造成。

Cannot modify a const object (不能修改一個長量對象)
分析與處理:對定義為常量的對象進行不合法操作(如常量賦值)引起本錯誤。

Case outside of switch (Case 出現在switch外)
分析與處理:編譯程序發現Case語句出現在switch語句之外,這類故障通常是由於括號不匹配造成的。

Case statement missing (Case語句漏掉)
分析與處理:Case語必須包含一個以冒號結束的常量表達式,如果漏了冒號或在冒號前多了其它符號,則會出現此類錯誤。

Character constant too long (字符常量太長)
分析與處理:字符常量的長度通常只能是一個或兩個字符長,超過此長度則會出現這種錯誤。

Compound statement missing (漏掉復合語句)
分析與處理:編譯程序掃描到源文件未時,未發現結束符號 (大括號),此類故障通常是由於大括號不匹配所致。

Conflicting type modifiers (類型修飾符沖突)
分析與處理:對同一指針,只能指定一種變址修飾符(如near 或far);而對於同一函數,也只能給出一種語言修飾符(如Cdecl、pascal或interrupt)。

Constant expression required (需要常量表達式)
分析與處理:數組的大小必須是常量,本錯誤通常是由於#define常量的拼寫錯誤引起。

Could not find file 'xxxxxx.xxx' (找不到'xxxxxx.xx'文件)
分析與處理:編譯程序找不到命令行上給出的文件。

Declaration missing (漏掉了說明)
分析與處理:當源文件中包含了一個struct或 union域聲明,而後面漏掉了分號,則會出現此類錯誤。

Declaration needs type or storage class(說明必須給出類型或存儲類)
分析與處理:正確的變量說明必須指出變量類型,否則會出現此類錯誤。

Declaration syntax error (說明出現語法錯誤)
分析與處理:在源文件中,若某個說明丟失了某些符號或輸入多余的符號,則會出現此類錯誤。

Default outside of switch (Default語句在switch語句外出現)
分析與處理:這類錯誤通常是由於括號不匹配引起的。

Define directive needs an identifier (Define指令必須有一個標識符)
分析與處理:#define 後面的第一個非空格符必須是一個標識符,若該位置出現其它字符,則會引起此類錯誤。

Division by zero (除數為零)
分析與處理:當源文件的常量表達式出現除數為零的情況,則會造成此類錯誤。

Do statement must have while (do語句中必須有While關鍵字)
分析與處理:若源文件中包含了一個無While關鍵字的 do語句,則出現本錯誤。

DO while statement missing ( (Do while語句中漏掉了符號 "(")
分析與處理:在do語句中,若 while關鍵字後無左括號,則出現本錯誤。 Do while statement missing;(Do while語句中掉了分號)
分析與處理:在DO語句的條件表達式中,若右括號後面無分號則出現此類錯誤。

Duplicate Case (Case情況不唯一)
分析與處理:Switch語句的每個case必須有一個唯一的常量表達式值。否則導致此類錯誤發生。

Enum syntax error (Enum語法錯誤)
分析與處理:若enum說明的標識符表格式不對,將會引起此類錯誤發生。

Enumeration constant syntax error (枚舉常量語法錯誤)
分析與處理:若賦給enum類型變量的表達式值不為常量,則會導致此類錯誤發生。

Error Directive : xxxx (Error指令:xxxx)
分析與處理:源文件處理#error指令時,顯示該指令指出的信息。

Error Writing output file (寫輸出文件錯誤)
分析與處理:這類錯誤通常是由於磁盤空間已滿,無法進行寫入操作而造成。

Expression syntax error (表達式語法錯誤)
分析與處理:本錯誤通常是由於出現兩個連續的操作符,括號不匹配或缺少括號、前一語句漏掉了分號引起的。

Extra parameter in call (調用時出現多余參數)
分析與處理:本錯誤是由於調用函數時,其實際參數個數多於函數定義中的參數個數所致。

Extra parameter in call to xxxxxx(調用xxxxxxxx函數時出現了多余參數)

File name too long (文件名太長)
分析與處理:#include指令給出的文件名太長,致使編譯程序無法處理,則會出現此類錯誤。通常DOS下的文件名長度不能超過 64個字符。

For statement missing ) (For語名缺少")")
分析與處理:在 for語句中,如果控制表達式後缺少右括號,則會出現此類錯誤。

For statement missing( (For語句缺少"(")

For statement missing; (For 語句缺少";")
分析與處理:在 for語句中,當某個表達式後缺少分號,則會出現此類錯誤。

Function call missing) (函數調用缺少")")
分析與處理:如果函數調用的參數表漏掉了右手括號或括號不匹配,則會出現此類錯誤。

Function definition out ofplace (函數定義位置錯誤)

Function doesn't take a variable number of argument(函數不接受可變的參數個數)

Goto statement missing label (Goto語句缺少標號)

If statement missing( (If語句缺少"(")

If statement missing) (If語句缺少")")

lllegal initalization (非法初始化)

lllegal octal digit (非法八進制數)
分析與處理:此類錯誤通常是由於八進制常數中包含了非八進制數字所致。

lllegal pointer subtraction (非法指針相減)

lllegal structure operation (非法結構操作)

lllegal use of floating point (浮點運算非法)

lllegal use of pointer (指針使用非法)

Improper use of a typedef symbol (typedef符號使用不當)

Incompatible storage class (不相容的存儲類型)

Incompatible type conversion (不相容的類型轉換)

Incorrect commadn line argument:xxxxxx (不正確的命令行參數:xxxxxxx)

Incorrect commadn file argument:xxxxxx (不正確的配置文件參數:xxxxxxx)

Incorrect number format (不正確的數據格式)

Incorrect use of default (deflult不正確使用)

Initializer syntax error (初始化語法錯誤)

Invaild indrection (無效的間接運算)

Invalid macro argument separator (無效的宏參數分隔符)

Invalid pointer addition (無效的指針相加)

Invalid use of dot (點使用錯)

Macro argument syntax error (宏參數語法錯誤)

Macro expansion too long (宏擴展太長)

Mismatch number of parameters in definition(定義中參數個數不匹配)

Misplaced break (break位置錯誤)

Misplaced continue (位置錯)

Misplaced decimal point (十進制小數點位置錯)

Misplaced else (else 位置錯)

Misplaced else driective (clse指令位置錯)

Misplaced endif directive (endif指令位置錯)

Must be addressable (必須是可編址的)

Must take address of memory location (必須是內存一地址)

No file name ending (無文件終止符)

No file names given (未給出文件名)

Non-protable pointer assignment (對不可移植的指針賦值)

Non-protable pointer comparison (不可移植的指針比較)

Non-protable return type conversion (不可移植的返回類型轉換)

Not an allowed type (不允許的類型)

Out of memory (內存不夠)

Pointer required on left side of (操作符左邊須是一指針)

Redeclaration of 'xxxxxx' ('xxxxxx'重定義)

Size of structure or array not known (結構或數組大小不定)

Statement missing; (語句缺少“;”)

Structure or union syntax error (結構或聯合語法錯誤)

Structure size too large (結構太大)

Subscription missing ] (下標缺少‘]')

Switch statement missing ( (switch 語句缺少"(")

Switch statement missing ) (switch 語句缺少")")

Too few parameters in call (函數調用參數太少)

Too few parameter in call to'xxxxxx'(調用'xxxxxx'時參數太少)

Too many cases (Cases太多)

Too many decimal points (十進制小數點太多)

Too many default cases (defaut太多)

Too many exponents (階碼太多)

Too many initializers (初始化太多)

Too many storage classes in declaration (說明中存儲類太多)

Too many types in decleration (說明中類型太多)

Too much auto memory in function (函數中自動存儲太多)

Too much global define in file (文件中定義的全局數據太多)

Two consecutive dots (兩個連續點)

Type mismatch in parameter # (參數"#"類型不匹配)

Type mismatch in parameter # in call to 'XXXXXXX' (調用'XXXXXXX'時參數#類型不匹配)

Type missmatch in parameter 'XXXXXXX' (參數'XXXXXXX'類型不匹配)

Type mismatch in parameter 'YYYYYYYY' in call to 'YYYYYYYY'(調用'YYYYYYY'時參數'XXXXXXXX'數型不匹配)

Type mismatch in redeclaration of 'XXX' (重定義類型不匹配)

Unable to creat output file 'XXXXXXXX.XXX' (不能創建輸出文件'XXXXXXXX.XXX')

Unable to create turboc.lnk (不能創建turboc.lnk )

Unable to execute command 'xxxxxxxx'(不能執行'xxxxxxxx'命令)

Unable to open include file 'xxxxxxx.xxx' (不能打開包含文件'xxxxxxxx.xxx')

Unable to open inputfile 'xxxxxxx.xxx' (不能打開輸入文件'xxxxxxxx.xxx')

Undefined label 'xxxxxxx' (標號'xxxxxxx'未定義)

Undefined structure 'xxxxxxxxx' (結構'xxxxxxxxxx'未定義)

Undefined symbol 'xxxxxxx' (符號'xxxxxxxx'未定義)

Unexpected end of file in comment started on line #(源文件在某個注釋中意外結束)

Unexpected end of file in conditional stated on line # (源文件在#行開始的條件語句中意外結束)

Unknown preprocessor directive 'xxx' (不認識的預處理指令:'xxx')Untermimated character constant (未終結的字符常量)

Unterminated string (未終結的串)

Unterminated string or character constant(未終結的串或字符常量)

User break (用戶中斷)

Value required (賦值請求)

While statement missing ( (While語句漏掉 '(')

While statement missing ) (While語句漏掉 ')')

Wrong number of arguments in of 'xxxxxxxx' (調用'xxxxxxxx'時參數個數錯誤)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved