C语言编译错误信息

上传人:人*** 文档编号:548990878 上传时间:2023-07-01 格式:DOC 页数:29 大小:63.50KB
返回 下载 相关 举报
C语言编译错误信息_第1页
第1页 / 共29页
C语言编译错误信息_第2页
第2页 / 共29页
C语言编译错误信息_第3页
第3页 / 共29页
C语言编译错误信息_第4页
第4页 / 共29页
C语言编译错误信息_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《C语言编译错误信息》由会员分享,可在线阅读,更多相关《C语言编译错误信息(29页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! C语言编译错误信息 Turbo C 编译程序检查源程序中三类出错信息:致命错误、一般错误和警告。 致命错误出现很少,它通常是内部编译出错。在发生致命错误时,编译立即停止,必须采取一些适当的措施并重新编译。 一般错误指程序的语法错误、磁盘或内存存取错误或命令错误等。编译系统遇到这类错误时,一般也要停止编译。警告并不阻止编译进行。它指出一些值得怀疑的情况,而这些情况本身又有可能合理地成为源程序的一部分。因此,警告信息只是提醒用户注意,编译过程并不停止。编译系统在发现源程序中的各类错误时,首先显示错误信息,然后显示源文件名和出错的行号。但必须注意,真正

2、的错误位置不一定准在显示出错的行上,也可能是在前一行或前几行;有时,好象发生了很多错误,而实际上可能是由一个错误造成的。下面按字母顺序分别列出这三类错误信息。对每一条信息,提供可能产生的原因和修正的方法。致命错误1. Bad call of in-lint function内部函数非法调用在使用一个宏定义的内部函数时,没有正确调用。一个内部函数以双下划线(-)开始和结束。2. Irreducible expression tree 不可约表达式树这种错误是由于源文件中的某些表达式使得代码生成程序无法为它产生代码。这种表达式必须避免使用。3. Registcr allocation failur

3、e 存储器分配失效这种错误指的是源文件行中的表达式太复杂,代码生成程序无法为它生成代码。此时应简化这种复杂的表达式或干脆避免使用它。一般错误 1. #Operator not followed by macro argument name#运算符后无宏变量名。在宏定义中,#用于标识一宏变量名。“#”后必须跟一宏变量名。 2. xxxxxxxxnor an argumentxxxxxxxx不是函数参数。在源程序中将该标识符定义为一个函数参数,但此标识符没有在函数表中出现。 3. Ambiguous symbol xxxxxxxx二义性符号xxxxxxxx。两个或多个结构的某一域名相同,但具有的偏

4、移,类型不同。在变量或表达式中引用该域而未带结构名时,将产生而一性,此时需修改某个域名或在引用时加上结构名。 4. Argument #missing name参数#名丢失。参数名已脱离用于定义函数的函数原型。如果函数以原型定义,该函数必须包含所有的参数名。 5. Argument list syntax error参数表出现语法错误。函数调用的参数间必须以逗号隔开,并以一右括号结束。若源文件中含有一个其后不是逗号也不是右括号的参数,则出错。 6. Array bounds missing数组的界限符“”丢失。在源文件中定义了一个数组,但此数组没有以一右方括号结束。 7. Array size

5、 too large数组长度太大。定义的数组太大,可用内存不够。 8. Assembler statement too long汇编语句太长。内部汇编语句最长不能超过程480字节。 9. Bad configuration file配置文件不正确。TURBOC.CFG配置文件中包含不是合适命令行选择项的非注解文字。配置文件命令选择项必须以一短横线(-)开始。 10. Bad file name format in include directive使用include指令时,文件名格式不正确。include文件名必须用引号(“filename.h“)或尖括号(filename.h)括起来,否则将

6、产生此类错误。如果使用了宏,则产生的扩展正文也不正确(因为无引号)。 11. Bad ifdef directive syntax ifdef 指令语法错误。#ifdef必须包含一个标识符(不 能是任何其他东西)作为该指令体。 12 . Bad ifndef directive syntax ifndef 指令语法错误。#ifndef必须包含一个标识符(不 能是任何其他东西)作为该指令体。 13 .Bad undef directive syntax Undef 指令语法错误。#undef指令体必须包含一个标 识符(不能是任何其他东西)作为指令体。 14. Bad file size synt

7、ax 位字段长度语法错误。一个位字段必须是1-16位的表 达式 。 15.Call of non-function 调用未定义函数。 正被调用的函数无定义,通常是 由于不正确的函数声明或函数名拼错造成的。 16. Cannot modify a const object不能修改一个常量对象。对定义为常量的对象进行不合法操作(如常量赋值)引起此类错误。 17 .Case outside of switch Case 出现在switch外。编译程序发现 case语句出现 switch语句外面,通常是由于括号不匹配造成的确。 18.Case statement missing Case语法漏掉。Ca

8、se语句必须包含一个以冒号终结 的常量表达式。可能的原因是丢了冒号或在冒号前多 了别的符号。 19.Case syntax error Case 语法错误。Case中包含了一些不正确符号。 20.Character constant too long 字符常量太长。字符常量只能是一个或两个字符长。 21.Compound statement missing 复合语句漏掉了大括号“”。编译程序扫描到源文件 时。未发现结束大括号,通常是由于大括号不匹配造 成的。 22.Constant expression required 类型修饰符冲突。对同一指针,只能指定一种变地址 修饰符(如near 或f

9、ar);而对于同一函数,也只能出 一种语言修饰符(如cdecl、passcal 或interrupt)。 23 Constant expression required 要求常量表达式。数组的大小必须是常量,此类错误 通常是由于#define常量的拼写出错而引起的。 24Could not find XXXXXXXX.XXX 找不到XXXXXXXX文件。编译程序找不到命令行 上给出的文件。 25 Declaration missing 说明漏掉:。在源文件中包含了一个struct 或union 域声明,但后面漏掉了分号(;)。 26 Declaration needs type or stor

10、age class 说明必须给出类型或存储类。说明必须包含一个类型 或一个存储类。 27 Declartion syntax error 说明出现语法错误。在源文件中,某个说明丢失了某 些符号或多余的符号。 28 Default outside of switch Default在switch外出现。编译程序发现default语句出现 在switch语句之外,通常是由于括号不匹配造成的。 29 Default directive needs an identifer Default指令必须有一个标识符。#define后面的第一个 非空格符必须是一个标识符,若编译程序发现一些其 他字符,则出现本

11、错误。 30 Division by Zero 除数为零。源文件的常量表达式中,出现除数为零的情 况。 31 Do statement must have while Do语句中必须有while。源文件中包含一个无while关键 字的do语句时,出现此类错误。 32. Do-while statement missing( Do-while 语句中漏掉了“(”。在do语句中,编译程序 发现while关键字后无左括号。33. Do-while statement missing ) Do-while 语句中漏掉了“)”。在do语句中,编译程 序发现条件表达式后无右括号。 34 Do-while

12、statement missing; Do-while语句中漏掉了分号。在do语句中的条件表达 中,编译程序发现右括号后面无分号。 35 Duplicate Case Case后的常量表达式重复。Switch语句的每个case必须 有一个唯一的常量表达式值。 36 Enum syntax error Enum语法出现错误。Enum说明的标识符表的格式不 对。 37 Eunmeration constant syntax error 枚举常量语法错误。赋给enum类型变量的表达式值不为 常量。 38. Error Directive :XXX Error指令:XXX。源文件处理#error指令时

13、,显示该 指令的信息。 39 Error writing output file 写输出文件出现错误。通常是由于磁盘空间满造成 的,尽量删掉一些不必要的文件。40 Expression syntax 表达式语法错误。当编译程序分析一表达式发现一些严 重错误时,出现此类错误,通常是由于两个连续操作 符、括号不匹配或缺少括号、前一句漏掉了分号等引起 的。41 Extra parameter in call 调用时出现多余参数。调用函数时,其实际参数个数多 余函数定义中的参数。42 Extra parameter in call to xxxxxxxx 调用XXXXXXXX函数时出现了多余的参数。其中该函 数由原型定义。43 File name too long 文件名太长。#include指令给出的文件名太长,编译程 序无

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号