好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

附录B KeilC51编译常见错误与警告.doc

6页
  • 卖家[上传人]:世***
  • 文档编号:169706863
  • 上传时间:2021-02-27
  • 文档格式:DOC
  • 文档大小:275KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 附录B Keil C51 编译常见错误与警告在利用Keil C51进行单片机软件程序的编写、调试过程中,经常会出现这样的现象,因为疏忽大意或是对于程序编写规则的不熟悉等原因,工程编译不能正常通过,导致最终未能生成单片机用于下载烧片所需的.hex文件以下列举出了一些在工程编译过程中,常见的警告或错误的提示信息,以及解决这些警告或错误的具体方法;给出了常见编译器错误信息的查找方法和Keil C51编译器常见错误与警告提示信息中英文对照表,供读者在工程调试和编译过程中参考一、常见错误与警告现象现象一:部分程序如下:{…ET0=1 ET1=1; …}错误编号:C141原因:程序LED.C第49行语句前缺少分号解决方法:语句 ET0=1后加";"即:ET0=1;现象二:部分程序如下:{…ET0=1;ET1=1; …}错误编号:C100、C141原因:程序LED.C里53行有中文标点符号“;”解决方法:将中文符号改变成英文符号“;”现象三:警告编号:L16原因:delay2( )函数未被其它函数调用,它会占用程序存放空间解决方法:(1)删除delay2( )函数;(2)检查程序,某调用该子函数;(3)利用注释“/* … */”将整个delay2()函数体包含,可保留该函数但不被编译。

      现象四:警告/错误编号:C206,C267,C231原因:‘delay’函数未定义,即未编写程序内容或函数已定义但未作声明解决方法:(1)将该子函数放在调用它的主调函数前; (2) 在调用它的主调函数前,对该函数进行声明现象五: 警告编号:C318原因:在编译main.c 程序过程中由于main.c 使用了头文件包含#include “buzzer.h”,但编译器却找不见buzzer.h头文件解决方法:找到相应的buzzer.h或编写buzzer.h文件,并存入到c:\keil的相关目录中现象六:错误编号:C237原因:‘delay’函数名称重复定义,即有两个重名的函数解决方法:改变其中一个函数的名称,使两个函数名称不相同现象七:错误编号:C202原因:变量‘sh’未作定义声明,可能是拼写错误或是未区分大小写解决方法:(1)在使用该变量前对该变量定义声明;(2)在确定该变量不使用时,将其删除;(3)改正错误的拼写二、Keil C51错误与警告的查询前述列举的警告和错误,仅仅是编译软件给出错误或警告的一个部分,对于大多数的错误和警告对应的原因及解决实例,读者可以参照下面的过程自行查找Keil C51自带的帮助文件,以求解决可能出现的问题。

      Keil C51错误与警告包含在名为errors.chm的文件中,该文件一般存放在keil安装目录中,其路径为…\Keil\C51\HLP\errors.chm,如下图所示打开该文件,其中列出了600多条错误与警告的帮助信息,读者可以自行参阅三、Keil C51编译器常见错误与警告提示信息中英文对照表序号英文提示信息中文译文1Ambiguous operators need parentheses不确定的操作需要用括号括起来2Ambiguous symbol ‘xxx’不确定的符号3Argument list syntax error参数表语法错误4Array bounds missing数组界限符丢失5Array size toolarge数组尺寸太大6Bad character in paramenters参数中有不适宜的字符7Bad file name format in include directive包含命令中有不正确的文件名格式8Bad ifdef directive synatax编译预处理ifdef 有语法错9Bad undef directive syntax编译预处理undef 有语法错10Bit field too large位字段太长11Call of non-function调用了未定义的函数12Call to function with no prototype调用函数时没有函数的说明13Cannot modify a const object不允许修改常量对象14Case outside of switchcase 语句在switch语句外15Case syntax errorCase 语法错误16Code has no effect代码不能执行17Compound statement missing {复合语句丢失"{"18Conflicting type modifiers不明确的类型说明符19Constant expression required要求常量表达式20Constant out of range in comparison在比较中常量超出范围21Could not find file ‘xxx’找不到XXX 文件22Declaration missing ;声明缺少“;”23Declaration syntax error声明中出现语法错误24Default outside of switchDefault 出现在switch 语句之外25Define directive needs an identifier定义编译预处理需要标识符26Division by zero用零作除数27Do statement must have whileDo-while 语句中必须while 28Enum syntax error枚举类型语法错误29Enumeration constant syntax error枚举常数语法错误30Error directive :xxx错误的编译预处理命令31Error writing output file写输出文件错误32Expression syntax error表达式语法错误33Extra parameter in call调用时出现多余错误34File name too long文件名太长35Function call missing )函数调用缺少括号“)”36Fuction definition out of place函数定义位置错误37Fuction should return a value函数必需返回一个值38Hexadecimal or octal constant too large16 进制或8 进制常数太大39Illegal character ‘x’非法字符x40Illegal initialization非法的初始化41Illegal Hexadecimal digit非法的16 进制数字42Illegal pointer subtraction非法的指针相减43Illegal use of floating point非法的浮点运算44Illegal use of pointer非法使用指针45Improper use of a typedefsymbol类型定义符号使用不恰当46Incompatible storage class不相容的存储类别47Incompatible type conversion不相容的类型转换48Incorrect number format错误的数据格式49Incorrect use of defaultDefault 使用不当50Invalid indirection无效的间接运算51Invalid pointer addition无效的指针相加52Irreducible expression tree无法执行的表达式运算53Lvalue required需要逻辑值54Macro argument syntax error宏参数语法错误55Macro expansion too long宏扩展后太长56Mismatched number of parameters in definition定义中参数个数不匹配57Misplaced break此处不应出现break 语句58Misplaced continue此处不应出现continue 语句59Misplaced decimal point此处不应出现小数点60Must be addressable必须是可以编址的61Must take address of memory location必须存储定位的地址62No declaration for function ‘xxx’函数xxx没有声明63No type information没有类型信息64Not a valid expression format type不合法的表达式格式65Not an allowed type不允许使用的类型66Numeric constant too large数值常太大67Out of memory内存不够用68Parameter ‘xxx’ is never used参数xxx 没有用到69Pointer required on left side of ->符号->的左边必须是指针70Possible use of ‘xxx’ before definition在定义之前就使用了xxx(警告)71Possibly incorrect assignment赋值可能不正确72Redeclaration of ‘xxx’重复定义了xxx73Redefinition of ‘xxx’ is not identicalxxx 的两次定义不一致74Register allocation failure寄存器定址失败75Repeat count needs an lvalue重复计数需要逻辑值76Statement missing ;语句后缺少“;”77Sub scripting missing ]下标缺少右方括号78Symbol limit exceeded符号超限79Too few parameters in call函数调用时的实参少于函数的参数不80Too many default cases(switch 语句中)Default 太多81Too many error or warning messages错误或警告信息太多82Too many type in declaration声明中类型太多83Too much auto memory in function函数用到的局部存储太多84Too much global data defined in 。

      点击阅读更多内容
      相关文档
      高等学校学生手册.doc 2025年区教育系统招聘编外教师储备人才事业单位考试押题.docx 2025年秋季青岛版三年级数学上册认识轴对称现象教学课件.pptx 2025年秋季青岛版三年级数学上册用乘法估算解决问题教学课件.pptx 2025年秋季青岛版三年级数学上册两、三位数乘一位数的笔算(不进位)教学课件.pptx 2025年秋季青岛版三年级数学上册1200张纸有多厚教学设计范文.docx 2025年秋季青岛版三年级数学上册多位数除以一位数教学课件.pptx 2025年秋季青岛版三年级数学上册认识平移、旋转现象教学课件.pptx 2025年秋季青岛版三年级数学上册多位数乘一位数教学设计范本.docx 2025年秋季青岛版三年级数学上册认识平移与旋转教学设计范文.docx 2025年秋季青岛版三年级数学上册乘数中间有0或末尾有0的乘法教学课件.pptx 2025年秋季青岛版三年级数学上册两位数乘一位数的笔算(进位)教学课件.pptx 2025年秋季青岛版三年级数学上册《两、三位数乘一位数的笔算(不进位)》教学设计与意图.docx 2025年秋季青岛版三年级数学上册我学会了吗教学课件.pptx 2025年连云港市妇幼保健院招聘专业技术人员考试笔试试题.docx 2025年深圳市大鹏新区发展和财政局招聘考试笔试试卷.docx 2025年绵阳市梓潼县财政投资评审中心招聘考试试题.docx 2025年来宾市妇幼保健院招聘考试笔试试题.docx 2025年无极县教育系统招聘教师考试笔试试卷.docx 2025年灵山县第三中学调配教师考试笔试试题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.