附录G编译错误信息.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
附录G编译错误信息.doc

附录H 编译错误信息 Turbo C编译系统在编译源程序时会产生三种类型的错误:致命错误、一般错误和警告。其中致命错误一般是内部编译出错。当一个致命错误出现时.编译立即停止,必须采取适当的措施并重新启动编译系统才能重新使用;—般错误是指程序的语法错误、磁盘或内存存取错误或命令行错误等;编译程序遇到这类错误时,将继续完成现阶段的编译。编译系统在每一个阶段(编译预处理、语法分析、优化、代码生成等)尽可能多地找出源程序中的错误,以便程序设计人员修改程序中的错误;警告则只是指出一些值得怀疑的情况,它并不阻止编译及连接的进行。 出现错误时编译系统首先输出这三类信息;然后输出源文件名及编译程序发现出错处的行号,这里应该注意:Turbo C并不限定在某一行设置语句,因此,真正产生错误的原因就可能出现在所提示行号的前面一行或几行;最后输出错误信息的内容。 下面按字母顺序分别列出致命错误和一般错误的信息。 致命错误 (1) Bad call of in-line function (非法调用内部函数) 在使用一个宏定义的内部函数时没有正确地调用。一个内部函数是以两个下划线(__)开始和结束的。 (2) Irreducable expression tree (不可约表达式树) 这种错误指的是文件行中的表达式不合法使得代码生成程序无法为它生成代码。这种表达式必须避免使用。 (3) Register allocation failure (存储器分配失败) 这种错误指的是文件行中的表达式太复杂,代码生成程序无法为它生成有效代码。此时应简化这种繁杂的表达式或干脆避免使用它。 2. 一般错误 (1) #operator not followed by maco argument name (#运算符后没跟宏变元名) 在宏定义中,#后必须跟一个标识符(宏名),否则出错。 (2) xxxx not an argument (xxxx不是函数参数) 在源程序中将该标识符定义为一个函数参数,但是此标识符没有在函数参数表中出现。 (3) Ambiguous symbo xxxx (二义性符号xxxx) 两个或多个结构可能存在某一相同的域名(结构分量),它们属于不同的变量,故其所具有的偏移、类型是可以不同的。如果在变量或表达式中引用这些结构分量而未带结构名时会产生二义性。此时需修改某??域名或在引用时加上结构名。 (4) Argument # missing name (参数#名丢失) 参数名已脱离用于定义函数的函数原型。如果函数以原型定义,该原型必须包含所有的参数名。 (5) Argument list syntax error (参数表出现语法错误) 函数调用的参数间必须以逗号隔开,并以一个右括号结束。若源文件中含有一个其后既不是逗号又不是右括号的参数则出现此类错误。 (6) Array bounds missing ] (数组的界限符)丢失) 在源文件中定义了一个数组,但此数组没有以一个右方括号结束。 (7) Array size too large (数组长度太大) 定义的数组太大,超过了可用的内存空间。 (8) Assember statement too long (汇编语句太长) C语言规定,在C的源程序中直接插入的汇编语句最长不能超过480字节。 (9) Bad configuration file (配置文件不正确) TURBOC.CFG配置文件中包含的不是合适命令行选择项的非注释文字。配置文件选择项必须以一个短横线开始。 (10) Bad file name format in include directive (包含指令中文件名格式不正确) 包含文件名必须用引号(filename.h)或尖括号(filename.h)括起来,否则将产生本类错误。如果使用了宏,则产生的扩展文本是不正确的,因为使用宏常常出现无引号的现象,所以无法识别。 (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 syntax (位手段长语法错误) —个位字段长必须是l~16位的常量表达式。 (17) Call of non-function (调用未定义的函数)

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档