MDK常见错误详解集合

  • 时间:
  • 浏览:2

Code has no effect 代码不可述不一点执行到 

ADDRESS: 4036H 

并一点会引起一点变量形式的冲突(即引起函数内一点数据的丢失,可重入性函数在任什么如果 

***WARNING L15: MULTIPLE CALL TO SEGMENT 

Undefined structure ``xxx`` 没法 定义的底部形态xxx 

Non-portable pointer assignment 不可移动的指针(地址常数)赋值 

一点一起去被多个中断服务进程调用。 

个中断打断,从而使得结果地处变化 

Too few parameters in call 函数调用时的实参少于函数的参数 

Constant expression required 要求常量表达式 

----------------------------------------------------------------------------------------------------- 

Constant out of range in comparison 在比较中常量超出范围 

error 151:Virtual constructors are not allowed 不允许虚构造函数 

LENGTH: 0018H 

Illegal pointer subtraction 非法的指针相减 

一点该函数占用了内存,则应该使用连接器(linker)OVERLAY 指令将函数从覆盖分析 

运行,一点相应数据不让丢失)。 

error 18:No more files 没法 文件了 

Too many error or warning messages 错误或警告信息太少 

CALLER1: ?PR?VSYNC_INTERRUPT?MAIN 

Conversion may lose significant digits 转换后会丢落难义的数字 

***ERROR 118: REFERENCE MADE TO ERRONEOUS EXTERNAL 

Bad file name format in include directive 蕴含命令中文件名格式不正确 

Division by zero 用零作除数 

error 12:Invalid file access code 无效文件存取代码 

Illegal use of pointer 指针使用非法 

内存区就会 

error 106:Invalid numeric format 无效数值格式 

成extern void Music3(void),即作内部管理组阁  

Conflicting type modifiers 不明确的类型说明符 

单的调整就可不时要。不理它也没这些大不了的。 

说明DelayX1ms( )函数未被其它函数调用也会占用进程记忆体空间解决土方法加上 

Size of structure or array not known 底部形态体或数给大小不取舍 

MODULE:C:\15051\MUSIC.OBJ(MUSIC) 

3 Compling :C:\15051\MANN.C 

Type mismatch in redeclaration of ``xxx`` xxx 重定义的类型不匹配 

Error 267 :’DelayX1ms ‘:requires ANSI-style prototype C:\15051\INPUT.C 

Hexadecimal or octal constant too large16 进制或8 进制常数太少 

编译。 

Lvalue required 时要逻辑值0 或非0 值 

error 2:File not found 文件未找到 

Enumeration constant syntax error 枚举常数语法错误 

Unable to open input file ``xxx`` 无法打开输入文件xxx 

C:\15051\INPUT.C 

Unreachable code 无路可达的代码 

Define directive needs an identifier 定义编译预解决时要标识符 

error 51:Invalid PUBLIC definition 无效的PUBLIC定义 

Illegal structure operation 非法的底部形态体操作 

Register allocation failure 寄存器定址失败 

突然再次出现这些大现象的原应之一是这些函数是不可重入性函数,当该函数运行时它一点会被一 

Sub scripting missing ] 下标缺少右方括号 

说明内部管理资料ROM 的0025H 重复定义地址 

error 215:Arithmetic overflow error 算术运算上溢 

却找非要所致解决土方法编写有有四个多多beep.h 的蕴含档并存入到c:\15051 的工作目录中 

Incompatible type conversion 不相容的类型转换 

error 162:Hardware failure 硬件故障 

Macro expansion too long 宏的扩展以前太长 

从覆盖分析中除去。 

止中断的目的。时要使用OVERLAY 指令将该函数 

解决土方法:加上COMPARE()函数或利用条件编译#if …..#endif,可保留该函数太少 

Misplaced else 此处不应突然再次出现else 

这些设置一点产生有有四个多多可重入堆栈,该堆栈被被用于存储函数值和局部变量,用这些 

... 

error 209:Overlay file read error 读覆盖文件错误 

则我就详细忽略这些警告。 

Could not find file ``xxx`` 找非要XXX 文件 

11. *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS 

Invalid pointer addition 指针相加无效 

Statement missing ; 说说后缺少";" 

SEGMENT: ?PR?_WRITE_GMVLX1_REG?D_GMVLX1 

Misplaced elif directive 此处不应突然再次出现编译预解决elif 

error 102:File not assigned 文件变量未赋值 

CALLER1: ?PR?VSYNC_INTERRUPT?MAIN 

error 201:Range check error 范围检查出错 

解决土方法修正其中的有有四个多多函数名称使得函数名称后会 独立的 

Unexpected end of file in comment started on line xxx 从xxx 行结速了了的注解尚未结速了文件非要结速了 

1. Warning 2150:’i’:unreferenced local variable 

Numeric constant too large 数值常太少 

Compound statement missing{ 分进程漏掉"{" 

说明data 存储空间的地址范围为0~0x7f,当公用变量数目和函数里的局部变量一点存 

Structure or union syntax error 底部形态体或联合体语法错误 

***WARNING L15: MULTIPLE CALL TO SEGMENT 

顶端的指令解决了该函数使用的内存区被一点函数覆盖。一点该函数中调用了一点函数, 

Out of memory 内存欠缺用 

CALLER2: ?C_C51STARTUP 

Structure size too large 底部形态体尺寸太少 

error 207:Invalid floating point operation 无效的浮点运算 

error 17:Cannot rename across drives 非要跨驱动器改名 

它被有有四个多多中断服务进程一点有有四个多多调用了中断 

SYMBOL: VOLUME 

Do statement must have while Do-while 说说中缺少while 每项 

错误代码及错误信息 错误释义 

error 1: Out of memory 内存溢出 

error 2: Identifier expected 缺标识符 

error 3: Unknown identifier 未定义的标识符 

error 4: Duplicate identifier 重复定义的标识符 

error 5: Syntax error 语法错误 

error 6: Error in real constant 实型常量错误 

error 7: Error in integer constant 整型常量错误 

error 8: String constant exceeds line 字符串常量超过一行 

error 10: Unexpected end of file 文件非正常结速了 

error 11: Line too long 行太长 

error 12: Type identifier expected 未定义的类型标识符 

error 13: Too many open files 打开文件太少 

error 14: Invalid file name 无效的文件名 

error 15: File not found 文件未找到 

error 16: Disk full 磁盘满 

error 17: Invalid compiler directive 无效的编译命令 

error 18: Too many files 文件太少 

error 19: Undefined type in pointer def 指针定义中未定义类型 

error 20: Variable identifier expected 缺变量标识符 

error 21: Error in type 类型错误 

error 22: Structure too large 底部形态类型太长 

error 23: Set base type out of range 集合基类型越界 

error 24: File components may not be files or objectsfile分量非如果文件或对象 

error 25: Invalid string length 无效的字符串长度 

error 26: Type mismatch 类型不匹配 

Redefinition of ``xxx`` is not identical xxx 的两次定义不一致 

Call to function with no prototype 调用函数时没法 函数的说明 

Possible use of ``xxx`` before definition 在定义以前就使用了xxx(警告) 

Incorrect number format 错误的数据格式 

1.主进程调用该函数时禁止中断,可不时要在该函数被调用时用#pragma disable 说说来实现禁 

error 1150:Disk read error 读磁盘错 

Ambiguous operators need parentheses 不明确的运算时要用括号括起 

Error 237:’LedOn’:function already has a body 

解决土方法编写DelayX1ms 的内容编写以前也要作组阁 或作内部管理组阁 可在delay.h 的蕴含档 

Void functions may not return a value Void 类型的函数不应有返回值 

该警告表示连接器发现有有有四个多多函数一点会被主函数和有有四个多多中断服务进程(一点调用中断 

Mismatched number of parameters in definition 定义中参数个数不匹配 

且该函数不占用内存(假设只使用寄存器), 

解决土方法内部管理资料ROM 的定义如下Pdata unsigned char XFR_ADC _at_0x25 其中XFR_ADC 

Unknown assemble instruction 未知的汇编底部形态 

xxx statement missing ) xxx 说说缺少右括号 

Argument list syntax error 参数表语法错误 

Symbol limit exceeded 符号超限 

一点你取舍有有四个多多函数决不让在同一时间执行(该函数被主进程调用一点中断被禁止),并 

土方法时重入堆栈时要在STARTUP.A51 文件中配置。 

Bad character in paramenters 参数蕴含不适当的字符 

error 76:Constant out of range 常量越界 

Ambiguous symbol ``xxx`` 不明确的符号 

File name too long 文件名太长 

Redeclaration of ``xxx`` 重复定义了xxx 

Suspicious pointer conversion 可疑的指针转换 

error 204:Invalid pointer operation 无效的指针操作 

Function call missing ) 函数调用缺少右括号 

Array bounds missing 丢失数组界限符 

SYMBOL:MUSIC3 

解决土方法设MUSIC3 函数在MUSIC C 里将MUSIC C 加上到工程文件中去 

Enum syntax error 枚举类型语法错误 

No type information 没法 类型信息 

error 126:Files must be var parameters 文件时如果变量形参 

error 1150:Device write fault 设备写错误 

Unknown preprocessor directive: ``xxx`` 不认识的预解决命令xxx 

error 211:Call to abstract method 调用抽象土方法 

解决土方法将叙述void Music3(void)写在进程的最前端作组阁 一点是一点文件的函数则要写 

error 159:Printer out of paper 打印机缺纸 

Error:318:can’t open file ‘beep.h’ 

变量的名称为0x25,请检查是否是有其它的变量名称也是定义在0x25 处并修正它 

Declaration syntax error 说明中突然再次出现语法错误 

error 15:Invalid drive number 无效驱动器号 

8 ***WARNING 1:UNRESOLVED EXTERNAL SYMBOL 

说明局部变量i 在函数中未作任何的存取操作解决土方法消除函数中i 变量的组阁  

Must take address of memory location 时要存储定位的地址 

运行错误分为四类:1-99为DOS错误;1150-149为I/O错误,地处I/O后,一点使用了编译开关{$I+},进程将终止执行,一点编译开关为{$I-},进程继续执行,并由IOResult函数返回错误信息; 1150-199为严重错误,150-255为致命错误,致命错误将立即终止进程执行。 

Type mismatch in parameter xxx 参数xxx 类型不匹配 

Fuction definition out of place 函数定义位置错误 

error 16:Cannot remove current directory 非要删除当前目录 

SPACE: DATA 

你一点会时要也将这些函数排除在覆盖分析(overlay analysis)之外。这些OVERLAY 指令能 

error 213:Collection index out of range 集合下标越界 

Misplaced else directive 此处不应突然再次出现编译预解决else 

Improper use of a typedefsymbol 类型定义符号使用不恰当 

说明:进程中一点函数(或片段)以前(调试过程中)从未被调用过,一点根本没法  

***WARNING 2:REFERENCE MADE TO UNRESOLVED EXTERNAL 

这条警告信息前应该还有二根信息指示出是哪个函数原应了这些大现象。或者我做点简 

调用它的说说。 

Illegal character ``x`` 非法字符x 

Illegal octal digit 非法的8 进制数字 

SEGMENT: ?PR?_SPI_SEND_WORD?D_SPI 

Misplaced endif directive 此处不应突然再次出现编译预解决endif 

Default outside of switch Default 突然再次出现在switch 说说之外 

No declaration for function ``xxx`` 没法 函数xxx 的说明 

Unable to create output file ``xxx`` 无法建立输出文件xxx 

原应之二是用于局部变量和变量(太少没法 翻译,arguments,[自变量,变元一数值,用于 

Unknown option 未知的操作 

Irreducible expression tree 无法执行的表达式运算 

Too much global data defined in file 文件中全局数据太少 

Unterminated string or character constant 字符串缺少引号 

这些土方法消耗更多的RAM 并会降低重入函数的执行带宽。 

error 208:Overlay manager not installed 未安装覆盖管理进程 

Undefined symbol ``xxx`` 没法 定义的符号xxx 

SEGMENT: _DATA_GOUP_ 

Pointer required on left side of -> 符号->的左边时如果指针 

Unexpected end of file in conditional started on line xxx 从xxx 结速了了的条件说说尚未结速了文件非要结速了 

SEGMENT: ?PR?_COMPARE?TESTLCD 

Too many default cases Default 太少(switch 说说饱蕴含四个多多) 

error 202:Stack overflow error 栈溢出 

解决土方法: 

Undefined label ``xxx`` 没法 定义的标号xxx 

ADDRESS:0018H 

4 Compling:C:\15051\LED.C 

Misplaced continue 此处不应突然再次出现continue 说说 

User break 用户强行中断了进程 

error 4:Too many open files 打开文件太少 

Error writing output file 写输出文件错误 

error 216:General Protection fault 一般保护性错误

error 161:Device read fault 设备读错误 

Misplaced break 此处不应突然再次出现break 说说 

Bit field too large 位字段太长 

error 5:File access denied 文件不允许访问 

Incorrect use of default Default 使用不当 

``xxx`` not part of structure xxx 后会 底部形态体的一每项 

而这些被调用在进程中一点地方也被调用, 

Illegal initialization 非法的初始化 

error 206:Floating point underflow 浮点运算下溢 

10.***WARNING L15: MULTIPLE CALL TO SEGMENT 

Bad ifdef directive synatax 编译预解决ifdef 有语法错 

xxx statement missing ; xxx 缺少分号 

MODULE:C:\15051\MUSIC.OBJ(MUSIC) 

TO: 0025H 

服务进程的函数调用了,调用它的函数是VSYNC_INTERRUPT,在MAIN.C 中。 

Case outside of switch 漏掉了case 说说 

取舍进程或子进程的值])的内存区被一点函数的内存区所覆盖,一点该函数被中断,则它的 

No stack 缺少堆栈 

3.将该函数设为重入型。例如 : 

error 158:Sector Not Found 找非要扇区 

解决土方法将以data 型别定义的公共变量修改为idata 型别的定义 

使编译器除去上述警告信息。 

组阁  

error 157:Unknown media type 未知的介质类型 

(overlay analysis)中除去,例如 : 

说明在编译C:\15051\MANN.C 进程过程中一点main.c 用了指令#i nclude “beep.h”,但 

被使用,这将原应一点函数的内存冲突。 

SEGMENT: ?PR?SPI_RECEIVE_WORD?D_SPI 

Case syntax error Case 语法错误 

error 212:Stream registration error 流注_册错误 

DelayX1ms( )函数或利用条件编译#if …..#endif,可保留该函数太少编译 

error 151:Bad drive request struct length 错误的驱动器请求底部形态长度 

2 Warning 206:’Music3’:missing function-prototype 

组阁 成内部管理以便其它函数调用 

5 ***WARNING 16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS 

Parameter ``xxx`` is never used 参数xxx 没法 用到 

FROM : 0025H 

error 205:Floating point overflow 浮点运算上溢 

Non-portable pointer conversion 不可移动的指针(地址常数)转换 

Zero length structure 底部形态体的长度为零

Unable to open include file``xxx`` 无法打开被蕴含的文件xxx 

CALLER2: ?C_C51STARTUP 

OVERLAY (?PR?_WRITE_GMVLX1_REG?D_GMVLX1 ! *) 

服务进程的函数)一起去调用, 

C 编译器错误信息中文翻译 

error 210:Object not initialized 对象未初始化 

Too much auto memory in function 函数用到的局部存储太少 

CALLER2: ?C_C51STARTUP 

In-line assembly not allowed 不允许使用行间汇编 

error 3:Path not found 找非要路径 

Bad undef directive syntax 编译预解决undef 有语法错 

SYMBOL:MUSIC3 

错误代码及错误信息 错误释义 

error 105:File not open for output 文件未打开为读土方法 

候都可不时要被ISR 打断,一段时间后又可不时要 

error 152:Drive not ready 驱动器未准备好 

储模式设为SMALL 则局部变量先使用工作寄存器R2~R7 作暂存当存储器欠缺用时则会 

说明进程蕴含调用MUSIC 函数但未将该函数的含扩档C 加入到工程档Prj 作编译和连接 

error 214:Collection overflow error 集合上溢 

Too many type in declaration 说明中类型太少 

Must be addressable 时如果可不时要编址的 

Misplaced decimal point 此处不应突然再次出现小数点 

Error directive :xxx 错误的编译预解决命令 

Incompatible storage class 存储类别不相容 

error 6:Invalid file handle 无效文件句柄 

xxx`` is assigned a value which is never used 给xxx 赋了值但未用过 

说明进程蕴含调用DelayX1ms 函数但该函数没定义即未编写进程内容或函数已定义但未作 

MODULE: C:\15051\OSDM.OBJ (OSDM) 

error 103:File not open 文件未打开 

例如 ,第有有四个多多警告中函数WRITE_GMVLX1_REG 在D_GMVLX1.C 一点D_GMVLX1.A51 被定义, 

7 WARNING 206:’DelayX1ms’: missing function-prototype 

一点函数可不时要在其执行时被调用,则请况会变得更复杂性一点。这时可不时要采用以下几种方 

Expression syntax error 表达式语法错误 

以data 型别的空间作暂存的个数超过0x7f 时就会突然再次出现地址欠缺的大现象 

9 ***ERROR 107:ADDESS SPACE OVERFLOW 

说明LedOn( )函数名称重复定义即有有有四个多多以上一样的函数名称 

SEGMENT: ?PR?_DELAYX1MS?DELAY 

xxx`` declared but never used 说明了xxx 但没法 使用 

Two consecutive dots 有有四个多多连续的句点 

2.基因重组两份该函数的代码,一份到主进程中,另一份基因重组到中断服务进程中。 

error 101:Invalid ordering of fields 无效域顺序 

Array size toolarge 数组尺寸太少 

Invalid indirection 无效的间接运算 

Non-portable pointer comparison 不可移动的指针(地址常数)比较 

Call of non-function 调用未定义的函数 

error 150:Division by zero 被零除 

Not a valid expression format type 不合法的表达式格式 

Conversion of near pointer not allowed 不允许转换近指针 

CALLER1: ?PR?VSYNC_INTERRUPT?MAIN 

Wrong number of arguments 调用函数的参数数目错 

Possibly incorrect assignment 赋值一点不正确 

error 104:File not open for input 文件未打开为写土方法 

Not an allowed type 不允许使用的类型 

Declaration missing ; 说明缺少";" 

``xxx`` not an argument xxx 后会 参数 

Cannot modify a const object 不允许修改常量对象 

error 1:Invalid function number 无效函数号 

Macro argument syntax error 宏参数语法错误 

error 1150:Disk is write-protected 磁盘写保护 

法: 

Fuction should return a value 函数必需返回有有四个多多值 

Repeat count needs an lvalue 重复计数时要逻辑值 

说明Music3( )函数未作组阁 或未作内部管理组阁 如果无法给一点函数调用 

void myfunc(void) reentrant { 

error 203:Heap overflow error 堆溢出 

6 ***WARNING 6 :XDATA SPACE MEMORY OVERLAP 

Extra parameter in call 调用时突然再次出现多余错误 

error 154:CRC error in data 数据CRC校验错 

error 101:Disk write error 写磁盘错 

Illegal use of floating point 非法的浮点运算 

error 156:Disk seek error 磁盘定位错 

xxx statement missing ( xxx 说说缺少左括号 

Goto statement missing label Goto 说说没法 标号