ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:30.68KB ,
资源ID:11423824      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11423824.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(keil编译错误提示.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

keil编译错误提示.docx

1、keil编译错误提示C51编译器识别错类型有三种1、致命错误:伪指令控制行有错,访问不存在的原文件或头文件等。2、语法及语义错误:语法和语义错误都发生在原文件中。有这类错误时,给出 提示但不产生目标文件,错误超过一定数量才终止编译。3、警告:警告出现并不影响目标文件的产生,但执行时有可能发生问题。程序 员应斟酌处理。D.1 致命错误C_51 FATAL_ERRORACTION: LINE: ERROR: terminated或 C_51 FATAL ERRORACTION: FILE: ERROR: terminatedC_51 TERMINATED C_51(1) ACTION 的有关信息*

2、PARSING INVOKE-/#PRAGMA_LINE在对 #pragma 指明的控制行作此法分析时出错。*ALLOCATING MEMORY 系统分配存储空间时出错。编译较大程序需要 512k 空间。*OPENING INPUT_FILE 打开文件时,未找到或打不开源文件 / 头文件。*CREATE LIST_FILE/OBJECT_FILE/WORK_FILE 不能创建上述文件。可能磁盘满或文件已存在而且写保护。*PARSING SOURCE_FILE/ANALYZING DECLARATIONS 分析源程序时发现外部引用名太多。*GENERATING INTERMEDIATE CODE

3、 源代码被翻译成内部伪代码,错误可能来源于函数太大而超过内部极限。*WRITING TO FILE在向文件( work,list,prelist 或 object file )写时发生错误。 (2)ERROR的有关信息*MEMORY SPACE EXHAUSTED 所有可用系统空间耗尽。至少需要 512k 字节空间。没有足够空间,用户必须检查常驻内存 的驱动程序是否太多。*FILE DOES NOT EXISTFILE 行定的文本文件名未发现。*CANT CREAT FILEFILE 行定义的文件不能被创建。*SOURCE MUST COME FROMA DISK_FILE 源文件和头文件必须

4、存在于硬盘或软盘上。控制台、 CON、 CI 或类似设备不允许作为输入文件。*MORE THAN 256 SEGMENTS/PUBLICS/EXTERNALS受 OMF_51的历史限制,一个源程序不能超过 256 个各种函数的类型段, 256 个全局变量, 256 个公共定义或外部引用名。不使用为变量可以减少使用的段数。使用 static 存储类型 说 明符可减少全局变量的使用数目。合理调整定义性说明的位置可减少外部引用名的使用数 目。*FILEWRITE ERROR当向 list 、 prelist 、work 或 object 文件中写内容时,由于空间不够而发生错误。*NON_NULLAR

5、GUMENT EXPECTED 所选的控制参数需要一个括号内的变量,如一个文件夹或一个数。* “(” AFTER CONTROL EXPECTED 变量的左括号丢失。* “)” AFTER PARAMETER EXPECTED 变量的右括号丢失。*RESPECIFIED OR CONFLICTING CONTROL 所选的控制参数与前面发生冲突或重复,例如 CODE和 NOCOND*BAD DECIMAL NUMBER控制参数的数字含有非法数,需要使用十进制数。*OUT OF RANGE DECIMAL NUMBER 控制参数的数字越界,例如 OPTIMIZE 的参量为 0-5 。*IDENT

6、IFIER EXPECTED控制参数 DEFINE 需要一个标识符做参量,与 C语言的规则相同。 *PARSE STACK OVERFLOW 分析栈溢出。可能是源程序包含特别复杂的表达式,或功能块嵌套数超过 15。*PREPOCESSOR: MACRO TO NESTED宏扩展期间,预处理器的栈耗用太大。表明宏嵌套太多,或有递归宏定义。*PREPOCESSOR: LINE TOO LONG(510)宏扩展后行超过 510 个字符。*CANT HAVE GENERAL CONTROL IN INVOACTION LINE一般控制(如 EJECT)不能是命令行的一部分,应将它们放入源文件“ pra

7、gma”预处理行 中。D.2 语法及语义错误D.2.1 错误格式 这类错误在列表文件中产生如下格式的信息: *ERRORIN LINEOF:error message *WARINGIN LINEOF:warning message 表示错误行; 表示源文件或头文件中与错误或警告相关的行; 指明了错误所在的源文件或头文件;D.2.2 错误信息及可能发生的原因*ERROR100:unprintable character 0x?skipped 源文件中发现非法字符(注意,注解内的字符不做检查)*ERROR101:unclosed string 串未用引号结尾。*ERROR 102:string

8、too long逻辑的继续该串,串不得超过 511 个字符。为了定义更长的串,用户必须使用续行符 在词汇分析时遇到以该符号结尾的行会与下行连接起来。*ERROR 103: invalid character constant 试图再声明一个已定义的宏,已存在的宏可以用 #undef 指令删除。预定义的宏不能删除。*ERROR 104: identifier expected 预处理器指令期望产生一个标示符,如 ifdef 。*ERROR 105: unclosed comment 当注解无结束界定符( */ )时产生此错误。*EROOR 106: unbalanced#if-endif con

9、trols endif 的数量与 if 或 ifdef 的数量不匹配。*ERROR 107:include file nesting exceeds 9 include 指令后的文件名无效或丢失*ERROR 108: expected string, 如 #error “ string ”预处理器指令期望一个串变量。*ERROR 109:由 #error 伪指令引入的错误信息以错误信号形式显示。*ERROR 110:missing directive预处理行 #后缺少伪指令。*ERROR 111:unknown directive预处理行 #后不是伪指令。*ERROR 112:misplace

10、d elif *ERROR 113:misplaced else *ERROR 114:misplaced endif 指令 elif/else/endif 只有在 if 、 ifdef 、 ifndef 指令内才是合法的。*ERROR 117:bad integer expressionif/elif 指令的数值表达式有语法错误。*ERROR 118:missing ( after macro identifier 宏调用中实参表的左括号丢失*ERROR 119 : reuse of macro formal parameter 宏定义形参名重复使用*ERROR 120 : C unexpe

11、cted in formal list 形参表中不允许有字符 c,应用逗号代替*ERROR 121 : missing ) after actual parameter 宏调用实参表的右括号丢失*ERROR 122 : illegal macro invocation 宏调用的实参表与宏定义中的形参表不同*ERROR 123 :missing macro name after define #define 伪指令后缺预定义的宏*ERROR 124 : expected macro formal parameter 宏定义要求形参名*ERROR 125 : declarater too comp

12、lex说明过于复杂*ERROR 126 : type-stack underflow对象的声明至多只能包含 20 个类型修饰符( 【】,* ,(),)错误 126 经常在错误 125 之前, 两者一起发生。*ERROR 127 : invalid storage class 对象用无效的存储类所说明。当在函数外用 auto/register 存储时会发生这种情况。*ERROR 128 : memory space: illegal memory space memory space used函数参数的存储类由存储模式( SMALL LARGE COMPA)CT决定用户不能改变,使用不同 于存储

13、模式的自动变量应该为静态的存储类*ERROR 129 : missing ; before token 该错误表示分号丢失, 通常该错误会引发一连串的错误, 引发的这些错误无关紧要。 因为缺 少分号后编译器不能做正确的语法分析*ERROR 130 : value out of rangeusing 或 interrupt 指令后参数越限。 using 用的寄存器组号位 0-3 ,interrupt 需要 0-15 的中 断号*ERROR 131 : duplicate function-parameter 函数中形参名重复,形参名应彼此不同*ERROR 132 : not in formal

14、parameter list 函数内参数声明使用的名字未出现在参数表中*ERROR 133 : char function(v0,v1,v2)Char*v0,*v1,*v5;/ * v5在形参中未出现*ERROR 134 : xdata/idata/pdata/data on function not permitted 函数总是驻留于 0x5xxxx 的 code 存储区,不能位于 xdata/idata/pdata/data 空间*ERROR 135 : bad storage class for bit 位变量的定义可以接受 static 或 extern 的存储类,用 REGIESTE

15、R和 ALIEN 都是非法的*ERROR 136 : void on variablevoid 类型只允许作为函数的返回类型或与指针类型合用( void* )*ERROR 137 : illegal parameter type: function 函数参数的类型不能是函数,然而函数指针可以作为参数*ERROR 138 : interrupt ()may not receive or return value (s) 中断函数既不能有参数又不能有返回值*ERROR 139 : illegal use of alien 关键字 alien 将函数定义为 PL/M51 规定的过程与函数结构。 这意

16、味着 C 函数中有参数的缩 记符号(即 funct( ); )时是不能用 alien 的*ERROR 140 : bit in illegal memory-space 位变量的定义可包含修饰符 DATA,如果无修饰符则假定为 DATA。因为位变量始终位于 0x4xxx 的内部数据存储器中,当试图采用其他存储空间就会产生这个错误。*ERROR 141 : NEAR:expected 编译器所见的单词是错误的。期望正确的单词*ERROR 142 : invalid base addressSfr 说明中的基址有错。有效基址为 0x80-0xff 。如果声明采用 basepos 形式,则基址是 8

17、的 整数倍*ERROR 143 : invalid absolute bit positionSbit 说明中位地址必须在 0x80-0xff 之间*ERROR 144 : basepos : invalid bit positionSbit 说明中位 pos 必须在 07 之间*ERROR 145 : undeclared sfrSfr 未说明*ERROR 146 : invalid sfr绝对位地址说明( basepos )包含无效的基地址。这个基地址必须与 sfr 名相对应*ERROR 147 : object too large对象不能超过 65536( 64k )字节*ERROR 1

18、48 : field not permitted in union 联合不能包含位成员,这个限制是由 8051 结构决定的。*ERROR 149 : function member in struct/union 结构或者联合不能包含函数类型的成员。但是指向函数的指针是允许的*ERROR 150 : bit member in struct/union 结构或者联合不能包含位类型的成员,这个限制是由 8051 结构决定的*ERROR 151 : self relative struct/union 结构或者联合不能包含自身*ERROR 152 : bit field type too smal

19、l for number of bits 位域声明中指定的位数超过所给原型中位的数量*ERROR 153 : named bit-field cannot have 0 width 命名的域宽度为 0 错误,只有未命名的位域允许是 0 宽度*ERROR 154 : pro to field 无指向位域指针的类型*ERROR 155 : char/int required for fields位域基类型要求 char 或 int 类型, unsigned char 或 unsigned int 也有效*ERROR 156 : alien permitted on function onlyAli

20、en 只能用于函数*ERROR 157 : var_parms on alien function有变参数的函数不能用 alien , 因为 PL/M51函数只能用固定数量的参数*ERROR 158 : function contains unnamed parameter 函数定义的参数表中包含无名参数。无名参数只允许用于函数的原型中*ERROR 159 : type follows void函数原型声明中可含一个空的参数表 f (void )。 Void 后不能再用其他类型定义*ERROR 160 : void invalidVoid 类型只能与指针合用或表明函数没有返回值*ERROR 1

21、61 : formal parameter ignored 函数内的外部函数引用声明使用了无类型的参数表。例如“ extern(a,b,c); ”要求形参表*ERROR 162 : duplicate function-parameter函数内参数名重复*ERROR 163 : unknown array size一般的不管是一维数组还是多维数组或外部数组, 都需要指定数组的大小, 这个大小是由编 译器的初始化时计算,这个错误表明试图为一个未定维的数组使用 sizeof 运算符,会哦着个多维数组的附加元素未定义。*ERROR 164 : ptr to null这一个错误通常是由前一个错误造成的

22、*ERROR 165 : ptr to bit指向位的指针不是合法的类型*ERROR 166 : array of function 数组不能包含函数,但可能包含指向函数的指针。*ERROR 167 : array of fields 位域不能安排为数组*ERROR 168 : array of bit 数组没有位类型*ERROR 169 : function returns function 函数不能返回函数,但可以返回一个指向函数的指针*ERROR 170 : function returns array 函数不能返回数组,但可返回指向数组的指针*ERROR 171 : missing e

23、nclosing swithBreak/continue 语句只能出现在 for,while,do while 或 switch 语句中间。*ERROR 172 : missing enclosing swithCase 语句只能用在 switch 语句中*ERROR 173 : missing return-expression返回类型不是 integer 的函数必须包含一条代表达式的 return 语句。由于要与老版本兼 容,编译器对返回整形值的函数不做检查*ERROR 174 : return-expression on void-functionVoid 函数不能返回值,因此不能包含带

24、表达式 return 的语句*ERROR 175 : duplicate case value每个 case 语句必须包含一个常量表达式做其变量,这个值不能在 switch 语句的各级中出 现多次*ERROR 176 : more than one defaultSwitch 语句中不能包含多于一个的 default 语句*ERROR 177 : different struct/union 赋值或参数传递中使用了结构 / 联合的不同类型*ERROR 178 : struct/union comparison illegal根据 ANSI C,两个结构或联合的比较是不允许的*ERROR 179

25、 : cannot/cast from/to void-type将 void 类型转化为其他类型数据或将其他类型转化为 void 类型都是非法的*ERROR 180 : cannot cast to function 转化为 function 是非法的,使用函数指针指向不同的函数*ERROR 181 : incompatible operand 在所给的运算符中至少有一个操作符类型是无效的*ERROR 182 : point to different object 报告指针使用不一致*ERROR 183 : unmodifiable value 预修改的对象位于 CODE存 储区,因而不能修改

26、*ERROR 184 : sizeof :illegal operand Sizeof 运算符不能决定函数或位域大小*ERROR 185 : different memory space 对象说明的存储空间与前面的不一致*ERROR 186 : invalid dereference 这条错误信息可能由编译器内部问题产生的*ERROR 187 : not an lvalue 所需参量必须是可变对象的地址*ERROR 188 : unknown object size 无法计算对象的大小,因为缺少数组的维数或因为通过 void 指针的间接访问*ERROR 189 :&on bit/sfr ill

27、egal 地址操作符 &不允许用于位对象或 sfr*ERROR 190 : & :not an lvalue 地质部是可变的对象,不能作为左值*ERROR 191 : & on constant 试图为所列类型常数建立指针*ERROR 192 : & on array/function 地址操作符 &不允许用于数组或函数,函数和数组本身都代表了地址*ERROR 193 : illegal op-type(s)*ERROR 193 : illegal add/sub on ptr*ERROR 193 : illegal operation on bit(s)*ERROR 193 : bad op

28、erand type 当一个表达式使用给定运算符的非法操作类型时就会出现该错误, 使用个定运算符的非法操 作类型的无效的表达式, 例如 bit+bit,ptr+ptr, 或 ptr* 。错误信息包括引起错误的运 算符。下列运算可使用位操作符赋值( =) OR/复合 OR(| ,|=) AND/复合 AND( &,&=) XOR/复合 XOR( ,= ) 位或常数的安位比较( = =,!= ) 取反( )*ERROR 194 : * indirection to object of unknown size 间接操作符 * 不能用于 void 指针(void*) ,因为指针所指的对象的大小时未知

29、的*ERROR 195 :*illegal indirection 间接操作符 * 不能用于非指针变量*ERROR 196 : mspace probably invalid 产生此警告是因为某些常数值赋给指针并且常数没有形成一个有效的指针值, 有效的指针常 数类型为 long/unsigned long 。编译器对指针对象采用 24bit ( 3 字节),低 16 位表示偏 移,高 8 位表示存储类的选择, 在低字节中, 值从 1 到 5 表明了 xdata/pdata/idata/data/ 和 code 的存储类*ERROR 197 : illegal pointer assignmen

30、t 试图将一个非法变量赋给指针,只有另一个指针或指针变量可以赋给指针*ERROR 198 : size of returns zero 求某些对象长度得到 0,如果对象是外部的或一个数组中并非所有维的大小都是已知时得到 0,这时候该值可能是错的。*ERROR 199 : left size of - requires struct/union pointer- 操作符的左边变量必须是结构或变量*ERROR 200 : left size of . requires struct/union操作符的左边变量必须是结构 / 联合*ERROR 201 : undefined struct/union

31、 tag 所给的结构 / 联合标记名是未知的*ERROR 202 : undefined identifier 所给的标示符未定义*ERROR 203 : bad storage class(nameref) 该错误表示编译器的内部有问题*ERROR 204 : undefined member 所给的结构 / 联合成员名未定义*ERROR 205 : cannot call an interrupt function 中断函数不能像普通函数那样调用,因为这种函数的头端和尾端是为中断特殊编码的*ERROR 206 : missing function-prototype 调用的函数缺少原型说明*ERROR 207 : declared with

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1