C语言编译中的常见错误_第1页
C语言编译中的常见错误_第2页
C语言编译中的常见错误_第3页
C语言编译中的常见错误_第4页
C语言编译中的常见错误_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言编译中的常见错误1、警告类错误 ?XXXdeclare but never used 变量XXX已定义但从未用过。 ?XXXis assigned a value which is never used 变量XXX已赋值但从未用过。 ? Code has no effect 程序中含有没有实际作用的代码。 ? Non-portable pointer conversion 不适当的指针转换,可能是在应该使用指针的地方用了一个非0的数值。 ? Possible use of XXXbefore definition 表达式中使用了未赋值的变量? Possiblyincorrectassignment这样的赋值可能不正确 ? Redeclaration of main 一个程序文件中主函数main不止一个。 ? Suspicious pointer conversion 可疑的指针转换。通常是使用了基本类型不匹配的指针。 ? Unreachable code 程序含有不能执行到的代码。2、错误或致命错误 ? Compound statement missing in function main 程序结尾缺少括号。 ? “”expected; “(”expected等 复合语句或数组初始化的结尾缺少“)”;“(”。 ? Case outside of switch case 不属于Switch结构,多由于switch结构中的花括号不配对所致。 ? Case statement missing : switch结构中的某个case之后缺少冒号。 ? Constant expression required 定义数组时指定的数组长度不是常量表达式。 ? Declaration syntax error 结构体或联合类型的定义后缺少分号。 ? Declaration was expected 缺少说明,通常是因为缺少分界符如逗号、分号、右圆括号等所引起的。 ? Default outside switch Default部分放到了switch结构之外,一般是因为花括号不匹配而引起的。 ? do statement must have while do语句中缺少相应的while部分。 ? Expression syntax 表达式语法错。如表达式中含有两个连续的运算符 ? Extra parameter in call fun 调用函数fun时给出了多余的实参。 ? Function should return a value 函数应该返回一个值,否则与定义时的说明类型不匹配。 ? Illegal use of pointer 指针被非法引用,一般是使用了非法的指针运算。 ? Invalid pointer addition 指针相加非法。一个指针(地址)可以和一个整数相加,但两个指针不能相加。 ? Lvalue required 赋值运算的左边是不能寻址的表达式。 ? Misplaced else 程序遇到了没有配对的else ? No matching 表达式中的括号不配对。 ? Pointer required on left side of_ 在“_”运算的左边只能允许一个指针而不能是一个一般的结构体变量或联合类型的变量。 ? Statement missing; 程序遇到了后面没有分号的语句。 ? Too few parameters in call 调用某个函数时实参数目不够。 ? Unable to open include file XXXXXXXXXXX 头文件找不到。 ? Unexpected 或:或 在不希望的地方使用了或:。 ? Undefined symbol Xin function fun 函数fun中的变量X没有定义。3、连接中的常见错误主要错误类似于“undefined symbol _print in modula xxx”(print没有定义),通常是函数名书写错误。4、运行中的常见错误?Abnormal program termination 程序异常终止。通常是由于内存使用不当所致。?Floating point error : Domain 或Divide by 0 运算结果不是一个数或被0 除?Null pointer assignment 对未初始化的指针赋值,程序有严重错误。?User break 在运行程序时终止。5、可跟踪调试的错误?XXXnotanargument该标识符不是函数的参数?Arrayboundsmissing缺少数组界限符?Arraysizetoolarge数组规模太大?Badformatinincludedirective在包含指令中的文件名格式不正确.?Callofnon-function调用未经过定义的函数.?Cannotmodifyaconstobject对常量不能进行修改.?Characterconstanttoolong字符常量太大?Constantexpressionrequired数组定义的时候,数组大小要求是常数?Compoundstatmentmissing复合语句漏掉符号?Declarationsyntaxerror宣告语法错误?Expressionsyntax表达式语法错误?Extraparameterincalltosum调用函数时使用了过多的参数?Illegaluseoffloatingpoint浮点数的不合法使用?Illegalpiontersubtraction不合法的指针相减?Invalidpointeraddition无效的指针相加?Outofmemory内存不足?Statementmissing;语句后面漏掉分号.调试方法利用Run菜单可以进行程序的跟踪调试(1)GO to Cursor ()选择该选项使程序执行到光标所在行首先将光标移到某行(一般为可执行),选择该功能项,则程序执行到该行的前一行暂停。此时程序处于跟踪调试状态,并有亮条显示在暂停处,此时可以查询变量或表达式的值。(2)Trace into ()执行一条语句或一行暂停此时程序处于跟踪调试状态,并有亮条显示在暂停处。该选项可跟踪到被调函数的内部。(3)Step over ()执行一条语句或一行暂停此时程序处于跟踪调试状态,并有亮条显示在暂停处。该选项将自定义函数当作一个语句执行,不跟踪到函程序的内部。(4)Debug 菜单程序处于跟踪状态时,可使用该菜单的选项。其主要是使用Evaluate目的是查询或更新变量或表达式的值。选择Evaluate功能后,系统弹出一个对话框。该对话框包含三个选项区域:Evaluate域可以输入一个含有目前代码中(程序暂停区的作用域)正在使用的变量名、或含变量的表达式、或常量表达式。按回车键后,在Result域中显示变量或表达式的值。还可以用New value域进行调试。如果调试程序时发现Result域显示的某变量或表达式的值不正确,并能估计出该变量或表达式的值,则可以将该值输入到New value域,继续执行程序,其目的是肯定错误发生处是否在当前位置之前。如果输入这个正确的值并将程序继续执行完毕而结果正确,说明在目前暂停处之前已经发生错误而之后无错误。(5)Break/Watch用于设置断点和监视表达式。选择Add Watch功能选项,系统将弹出一个菜单,在Add Watch框中输入变量名或表达式,按回车键后,系统在屏幕底部开辟一个窗口并显示 该变量或表达式的值。错误总汇:Ambiguousoperatorsneedparentheses:不明确的运算需要用括号括起Ambiguoussymbolxxx:不明确的符号Argumentlistsyntaxerror:参数表语法错误Arrayboundsmissing:丢失数组界限符Arraysizetoolarge:数组尺寸太大Badcharacterinparamenters:参数中有不适当的字符Badformatinincludedirective:包含命令中文件名格式不正确Badifdefdirectivesynatax:编译预处理ifdef有语法错Badundefdirectivesyntax:编译预处理undef有语法错Bitfieldtoolarge:位字段太长Callofnon-function:调用未定义的函数Calltofunctionwithnoprototype:调用函数时没有函数的说明Cannotmodifyaconstobject:不允许修改常量对象Caseoutsideofswitch:漏掉了case语句Casesyntaxerror:Case语法错误Codehasnoeffect:代码不可述不可能执行到Compoundstatementmissing:分程序漏掉Conflictingtypemodifiers:不明确的类型说明符Constantexpressionrequired:要求常量表达式Constantoutofrangeincomparison:在比较中常量超出范围Conversionmaylosesignificantdigits:转换时会丢失意义的数字Conversionofnearpointernotallowed:不允许转换近指针Couldnotfindfilexxx:找不到XXX文件Declarationmissing;:说明缺少;Declarationsyntaxerror:说明中出现语法错误Defaultoutsideofswitch:Default出现在switch语句之外Definedirectiveneedsanidentifier:定义编译预处理需要标识符Divisionbyzero:用零作除数Dostatementmusthavewhile:Do-while语句中缺少while部分Enumsyntaxerror:枚举类型语法错误Enumerationconstantsyntaxerror:枚举常数语法错误Errordirective:xxx:错误的编译预处理命令Errorwritingoutputfile:写输出文件错误Expressionsyntaxerror:表达式语法错误Extraparameterincall:调用时出现多余错误toolong:文件名太长Functioncallmissing):函数调用缺少右括号Fuctiondefinitionoutofplace:函数定义位置错误Fuctionshouldreturnavalue:函数必需返回一个值Gotostatementmissinglabel:Goto语句没有标号Hexadecimaloroctalconstanttoolarge:16进制或8进制常数太大Illegalcharacterx:非法字符xIllegalinitialization:非法的初始化Illegaloctaldigit:非法的8进制数字Illegalpointersubtraction:非法的指针相减Illegalstructureoperation:非法的结构体操作Illegaluseoffloatingpoint:非法的浮点运算Illegaluseofpointer:指针使用非法Improperuseofatypedefsymbol:类型定义符号使用不恰当In-lineassemblynotallowed:不允许使用行间汇编Incompatiblestorageclass:存储类别不相容Incompatibletypeconversion:不相容的类型转换Incorrectnumberformat:错误的数据格式IncorrectuseofdefaultDefault使用不当Invalidindirection无效的间接运算Invalidpointeraddition指针相加无效Irreducibleexpressiontree无法执行的表达式运算Lvaluerequired需要逻辑值0或非0值Macroargumentsyntaxerror宏参数语法错误Macroexpansiontoolong宏的扩展以后太长Mismatchednumberofparametersindefinition定义中参数个数不匹配Misplacedbreak此处不应出现break语句Misplacedcontinue此处不应出现continue语句Misplaceddecimalpoint此处不应出现小数点Misplacedelifdirective不应编译预处理elifMisplacedelse此处不应出现elseMisplacedelsedirective此处不应出现编译预处理elseMisplacedendifdirective此处不应出现编译预处理endifMustbeaddressable必须是可以编址的Musttakeaddressofmemorylocation必须存储定位的地址Nodeclarationforfunctionxxx没有函数xxx的说明Nostack缺少堆栈Notypeinformation没有类型信息Non-portablepointerassignment不可移动的指针(地址常数)赋值Non-portablepointercomparison不可移动的指针(地址常数)比较Non-portablepointerconversion不可移动的指针(地址常数)转换Notavalidexpressionformattype不合法的表达式格式Notanallowedtype不允许使用的类型Numericconstanttoolarge数值常太大Outofmemory内存不够用Parameterxxxisneverused能数xxx没有用到Pointerrequiredonleftsideof-符号-的左边必须是指针Possibleuseofxxxbeforedefinition在定义之前就使用了xxx(警告)Possiblyincorrectassignment赋值可能不正确Redeclarationofxxx重复定义了xxxRedefinitionofxxxisnotidenticalxx的两次定义不一致Registerallocationfailure寄存器定址失败Repeatcountneedsanlvalue重复计数需要逻辑值Sizeofstructureorarraynotknown结构体或数给大小不确定Statementmissing;语句后缺少;StructureorunionsyntaxerrorX构体或联合体语法错误Structuresizetoolarge结构体尺寸太大Subscriptingmissing下标缺少右方括号Superfluous&withfunctionorarray函数或数组中有多余的&Suspiciouspointerconversion可疑的指针转换Symbollimitexceeded符号超限Toofewparametersincall函数调用时的实参少于函数的参数不ToomanydefaultcasesDefault太多(switch语句中一个)Toomanyerrororwarningmessages错误或警告信息太多Toomanytypeindeclaration说明中类型太多Toomuchautomemoryinfunction函数用到的局部存储太多Toomuchglobaldatadefinedinfile文件中全局数据太多Twoconsecutivedots两个连续的句点Typemismatchinparameterxxx数xxx类型不匹配Typemismatchinredeclarationofxxxxx重定义的类型不匹配Unabletocreateoutputfilexxx无法建立输出文件xxxUnabletoopenincludefilexxx无法打开被包含的文件xxxUnabletoopeninputfilexxx无法打开输入文件xxxUndefinedlabelxxx没有定义的标号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论