turboc编译出错信息分析

turboc编译出错信息分析

ID:9403676

大小:47.00 KB

页数:10页

时间:2018-04-30

turboc编译出错信息分析_第1页
turboc编译出错信息分析_第2页
turboc编译出错信息分析_第3页
turboc编译出错信息分析_第4页
turboc编译出错信息分析_第5页
资源描述:

《turboc编译出错信息分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、TurboC编译出错信息TurboC编译程序查出的源程序错误分为三类:严重错误、一般错误和警告。1:严重错误(fatalerror):很少出现,它通常是内部编译出错。在发生严重错误时,编译立即停止,必需采取一些适当的措施并重新编译。2:一般错误(error:指程序的语法错误以及磁盘、内存或命令行错误等。编译程序将完成现阶段的编译,然后停止。编译程序在每个阶段(预处理、语法分析、优化、代码生成将尽可能多地找出源程序中的错误。3:警告(warning:不阻止编译的继续进行。它指出一些值得怀疑的情况,而这些情况本身又可以合理地作为源程序的一部分。一旦在在源文件中使用了与

2、机器有关的结构,编译程序就会产生警告信息。编译程序首先输出这三类出错信息,然后输出源文件名和发现出错的行号,最后输出信息的内容。下面按字母顺序分别列出了这三类出错信息。对每一条信息,均指出了可能产生的原因和纠正方法。1:严重错误Badcallofinlinefunction内部函数的不合法调用;在使用一个宏定义的内部函数时,没有正确调用。一个内部函数以两个下划线(__)开始和结束。Irreducibleexpressontree不可约表达式树;文件中的表达式使得代码生成程序无法为其产生代码。应避免使用这种表达式。Registerallocationfailure存

3、储器分配失败;源文件中表达式太复杂,代码生成程序无法为它生成代码。此时应简化这种繁琐的表达式或干脆不使用它。2:一般错误:#operatornotfollowedbymacroargumentname“#”运算符后没跟宏变元名;在宏定义中,,#用来标识一宏变元串,。“#”后必须跟一宏变元名。‘xxx’notanargument“xxx”不是函数参数;在源程序中将该标识符定义为一个函数参数,但此标识符没有在函数的参数表中出现。Ambiguoussymbol‘xxx’“xxx”是歧义性符号;两个或多个结构体的某一域名(结构体变量)相同,但具有的位移、类型不同。在变量或

4、表达式引用结构体分量而未带结构名时,将产生歧义。这时需要修改某个域名或在引用时加上结构名。Argument#missingname参数#名丢失;参数名已脱离用于定义函数的函数原型。如果函数以原型定义,则该函数必须包含所有的参数名。Argumentlistsyntaxerror参数表出现语法错误;函数调用的一组参数其间必须以一逗号隔开,并以一右括号结束。若源文件中包含有一个其后不是逗号也不是右括号的参数,则出现此错。Arrayboundmissing数组的界限符“]”丢失;在源文件中定义了一个数组,但此数组没有以一右方括号结束。Arraysizetoolarge数组

5、长度过大;定义的数组太大,可用内存不够。Assemblestatementtoolong汇编语句太长;直接插入的汇编语句长度不能超过480字节。Badconfigurationfile配置文件不正确;TURBOC.CFG配置文件中包含不是合适命令行选择的非注释文字。配置文件命令选择项必须以一短横线(-)开始。Badfilenameformatinincludedirective包含命令中文件名格式不正确;包含文件名必须用引号(“*.h”)或尖括号(〈*.h〉)括起来,否则将产生此类错误。如果使用了一个宏,则产生的扩展程序文本也是不正确的(因为没有加上引号)。Bad

6、ifdef(ifndef/undef)directivesyntaxifdef(ifndef/undef)命令语法错误;#ifdef(ifndef/undef)必须以单个标识符(仅此一个)作为该命令的体。Badfilesizesyntax位字段长语法错误;一个位字段长必须是1-16位的常量表达式。Callofnon-function调用未定义函数;正确调用的函数无定义,通常是由于不正确的函数声明或函数名拼写错误引起的。Cannotmodifyaconstantobject不能修改一个常量对象;对定义为常量的对象进行不合法操作(例如常量的赋值)将引起此错误。Case

7、outsideofswitchcase出现在switch外;通常由于大括号不配对引起的。Casestatementmissing:Case语句漏掉“:”;Casesyntaxerrorcase语法错误;Characterconstanttoolong字符常量太长;字符常量只能是一个或两个字符长。Compoundstatementmissing}复合语句漏掉};通常由于花括号不配对引起的。Conflictingtypemodifiers类型修饰符冲突;对同一指针只能指定一种变址修饰符(如near或far);同样对于同一函数,也只能给出一种语言修饰符(如cdecl、p

8、ascal

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。