所给的标记名虽已定义,但不是联合的标记 *ERROR 228:not a struct tag
所给的标记名虽已定义,但不是结构的标记 *ERROR 229:not an enum tag
所给的标记名虽已定义,但不是枚举的标记 *ERROR 230:unknown struct/union/enum tag 所给的结构/联合/枚举标记名未定义 *ERROR 231:redefinition 所给的名字已经定义,不能再定义 *ERROR 232:duplicate label 所给的标号已经订义
*ERROR 233:undefined label
当对函数进行分析后,编译器检查到函数有未定义的标号,发出错误信息 *ERROR 234:‘{’scope stack overflow(31) 超过了最大为31 个的功能嵌套极限,多余的块被忽略 *ERROR 235:parameter
*ERROR 236:different length of parameter lists 所给的函数是参量与函数原型中的不同 *ERROR 237:function already has body 试图定义已经定义过的函数 *ERROR 238:duplicate member *ERROR 239:duplicate parameter 重复定义结构成员或函数参数
*ERROR 240:more than 128 local bit’s 位变量定义总数不能超过128
*ERROR 241:auto segment too large
局部对象要求的空间超过了该模式的最大值。最大栈长定义如下:SMALL-128 字 节,COMPACT-256字节,LARGE-64k *ERROR 242:too many initializers 初始化对象超限
*ERROR 243:string out of bounds
串中字符数超过了字符数组要求初始化的字符数 *ERROR 244:can’t initialize .bad type or class 试图初始化位或sfr
*ERROR 245:unknown pragma, line ignored
未知的pragma 语句,因此该行被忽略 *ERROR 246:floating point error
本错误发生在浮点变量超过32 位有效字长时,32 位IEEE 格式的浮点值的取值范围是± 1.75494E-38~±3.402832E+38
*ERROR 247:non_address +/-constant initializer 有效的初始化表达式必须是非地址量+/-常量
*ERROR 248:aggregate initialization needs curly braces 所有的组合变量(数组/结构或联合)初始化时要用花括号括起来 *ERROR 249:segment
编译器检测到过大的数据段,最大数据段长取决于存储器空间 *ERROR 250:‘\\esc’;value exceeds 255 串常数中\\esc转义序列的值超过有效域 *ERROR 251:illegal octal digit 不是有效的八进制数字
*ERROR 252:misplace primary control、line ignored
一次性使用的编译控制伪指令必须在C模块开头指定,在#INCLUDE 语句和变量说明之前 *ERROR 253:internal ERROR(ASMGEN\\CLASS)
这种错误在以下情况下发生⑴内部函数(如testbit)被不正确激活。它发生在函数原型和实 参表不存在匹配问题的时候。基于这个原因,头文件中的使用要适当(intrins.h,string.h)。 ⑵C51识别出存在内部一致性错误,请向您的销售代理商查询 *ERROR 255:switch expression has illegal type
Switch语句中的case语句必须具有类型(u)char,(u)int 或(u)short,其他类型不允许(如bit) *ERROR 256:conflicting memory model
Alien 属性的函数只能使用SMALL模式。函数的参数必须位于内部数据存储空间 *ERROR 257:alien function can not be reentrant
“alien”属性的函数不能同时具有“reentrant”属性,函数的参数不能通过重入栈传递,这也 适用于外部“alien”声明和“alien”函数
*ERROR 258:mspace illegal on struct/union member 不能为结构联合成员指定存储空间,但指向对象的指针可以 *ERROR 259:pointer: different mspace
当为指针赋值或做指针比较时,指针未指向存储在同一存储空间的对象时,会产生错误或者 警告。如:
Char xdata *px;/*px to char in xdata memory*/ Char code *pc;/*pc to char in code memory*/ Void main() { char c;
If(px==pc)++c;/*warning 259*/ }
*ERROR 260:pointer truncation
指针转换时部分偏移量被截断,此时指针常量(如char xdata)转为一个具有较小偏移区的 指针(如char idata)
*ERROR 261:bit in reentrant function
重入函数不能包含位变量,因为位变量不能存于重入栈,而只能位于MCS51CPU的可位寻 址存储区中如:
Void test () reentrant { bit b0;/*illegal*/ Static bit b1;/*legal*/ }
*ERROR 262:’using/disable’: function returns bit
使用属性using选择寄存器组的函数或使用关中断(#pragma disable)功能的函数不能返回 bit类型。如:
Bit test ()using 3/*error 261*/ { bit b0; return(b0); }
*ERROR 263:save-stack overflow/underflow
“#pragama save”最大嵌套级为8 级。Save 和restore 指令按FIFO 原则工作 *ERROR 264:intrinsic
*ERROR 265:
发现非重入函数被递归调用。直接递归用生成代码可有效查出,间接递归调用由L51 发现 L51 连接定位器使用错误提示 1 警告
警告并不终止L51 的执行。这时产生的程序模块由程序员自己斟酌使用还是不使用。但是 此时的列表文件和屏幕显示可能非常有用。 2 错误
错误并不终止L51 的执行。这时产生的模块是不能使用的。但是此时的列表文件和屏幕显 示可能非常有用。 3 致命错误
致命错误发生时立即终止L51 的执行。 1警告
*WARNING1:UNSOLVED EXTERNAL SYMBOLS
SYMBOLS: external_name MODULE: filename (modulename)
指定模块的外部符号在PUBLIC符号表中找不到 *WARNING2:REFERENCE MADE TO UNSOVED EXTERNAL SYMBOLS: external_name MODULE: filename (modulename) ADDRESS:code_address
访问了未能匹配的外部符号code地址 *WARNING4:DATA SPACE MEMORY OVERLAP FROM:byte,bit,address TO: byte,bit,address 数据空间指定范围出现覆盖
*WARNING5:CODE SPACE MEMORY OVERLAP FROM:byte,bit,address TO: byte,bit,address 程序空间指定范围出现覆盖
*WARNING6:XDATA SPACE MEMORY OVERLAP FROM:byte,bit,address TO: byte,bit,address
外部数据空间指定范围出现覆盖 *WARNING7:MODULE NAME NOT UNIQUE MODULE:filename(modulename) 模块名重名。模块未处理
*WARNING8:MODULE NAME EXPLICITLY REQUESTED FROMANOTHER FILE MODULE:filename(modulename) 其他文件指名要求本模块名 *WARNING9:EMPTYABSOLUTE SEGMENT MODULE:filename(modulename)
本模块包含空的绝对段,因未定位,它可能在不通知的情况下随时被覆盖 *WARNING10:CANNOT DETERMINE ROOT SEGMENT
L51 对输入文件要求分辨是C51还是PL/M文件,然后进行流程分析,在无法确定的时候, 发出本警告。它发生在主程序被汇编调用的时候,需要程序员用OVERLAP 特殊控制选项 进行干预
*WARNING11:CANNOT FIND SEGMENT OR FUNCTION NAME NAME:overlap_control_name
在目标模块中找不到OVERLAP控制选项中规定的段或者函数间调用
*WARNING12:NO REFERENCE BETWEEN SEGMENTS SEGMENT1:segment_name SEGMENT2:segment_name
试图用OVERLAP控制选项删除本来不存在的段间访问或者函数间调用 *WARNING13:RECURSIVE CALL TO SEGMENT SEGMENT:segment_name CALLER:segment_name
CALLER段递归调用SEGMENT段。PL/M51和C51的非重入函数不允许递归调用 *WARNING14:IMCOMPIABLE MEMORYMODEL MODULE:filename(modulename) MODEL:memory_model
指定模块试图与以前不同的存储模式编译。 *WARNING15:MULTICALL TO SEGMENT SEGMENT:segment_name CALLER1:segment_name CALLER2:segment_name
两个函数调用同一个函数(如主函数和中断函数),参数和局部变量将被覆盖 *WARNING15:UNCALLED SEGMENT,IGNORED FOR OVERLAP PROCESS SEGMENT:segment_name
所给的段未被调用,已被排除在覆盖过程之外。 L51错误
*ERROR101: SEGMENT COMBINATION ERROR SEGMENT:segment_name MODULE:filename(modulename)
由于连接错误所给段未能连入类型总段,并被忽略 *ERROR102:EXTERN ATTRIBUTE MISMATCH SYMBOL:external_name MODULE:filename(modulename) 所给外部符号名属性错,并被忽略
*ERROR103:EXTERN ATTRIBUTE DO NOTMATCH PUBLIC SYMBOL:public_name
MODULE:filename(modulename)
所给外部符号名属性与公用符号名不匹配,并被忽略 *ERROR104:MUTIPULIC DEFINITION SYMBOL:pulic_name
MODULE:filename(modulename)
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库编程时Keil中常见的错误(3)在线全文阅读。
相关推荐: