77范文网 - 专业文章范例文档资料分享平台

编程时Keil中常见的错误(3)

来源:网络收集 时间:2019-06-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

所给的标记名虽已定义,但不是联合的标记 *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:different type 函数实参类型与函数原型中的不同

*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:segment too large

编译器检测到过大的数据段,最大数据段长取决于存储器空间 *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:declaration/ activation error 内部参数定义不正确

*ERROR 265:recursive call to non_reentrant function

发现非重入函数被递归调用。直接递归用生成代码可有效查出,间接递归调用由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)在线全文阅读。

编程时Keil中常见的错误(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/662774.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: