Keil uV4编译错误信息表
keil4 常见编译错误解决

Keil C编译器常见警告与错误信息解决方法1.Warning280:’i’:unreferenced local variable说明局部变量i在函数中未作任何的存取操作解决方法消除函数中i变量的宣告2Warning206:’Music3’:missing function-prototype说明Music3()函数未作宣告或未作外部宣告所以无法给其他函数调用解决方法将叙述void Music3(void)写在程序的最前端作宣告如果是其他文件的函数则要写成extern void Music3(void),即作外部宣告3Compling:C:\8051\MANN.CError:318:can’t open file‘beep.h’说明在编译C:\8051\MANN.C程序过程中由于main.c用了指令#i nclude“beep.h”,但却找不到所致解决方法编写一个beep.h的包含档并存入到c:\8051的工作目录中4Compling:C:\8051\LED.CError237:’LedOn’:function already has a body说明LedOn()函数名称重复定义即有两个以上一样的函数名称解决方法修正其中的一个函数名称使得函数名称都是独立的5***WARNING16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS SEGMENT:?PR?_DELAYX1MS?DELAY说明DelayX1ms()函数未被其它函数调用也会占用程序记忆体空间解决方法去掉DelayX1ms()函数或利用条件编译#if…..#endif,可保留该函数并不编译6***WARNING6:XDATA SPACE MEMORY OVERLAPFROM:0025HTO:0025H说明外部资料ROM的0025H重复定义地址解决方法外部资料ROM的定义如下Pdata unsigned char XFR_ADC_at_0x25其中XFR_ADC变量的名称为0x25,请检查是否有其它的变量名称也是定义在0x25处并修正它7WARNING206:’DelayX1ms’:missing function-prototypeC:\8051\INPUT.CError267:’DelayX1ms‘:requires ANSI-style prototype C:\8051\INPUT.C说明程序中有调用DelayX1ms函数但该函数没定义即未编写程序内容或函数已定义但未作宣告解决方法编写DelayX1ms的内容编写完后也要作宣告或作外部宣告可在delay.h的包含档宣告成外部以便其它函数调用8***WARNING1:UNRESOLVED EXTERNAL SYMBOLSYMBOL:MUSIC3MODULE:C:\8051\MUSIC.OBJ(MUSIC)***WARNING2:REFERENCE MADE TO UNRESOLVED EXTERNALSYMBOL:MUSIC3MODULE:C:\8051\MUSIC.OBJ(MUSIC)ADDRESS:0018H说明程序中有调用MUSIC函数但未将该函数的含扩档C加入到工程档Prj作编译和连接解决方法设MUSIC3函数在MUSIC C里将MUSIC C添加到工程文件中去9***ERROR107:ADDESS SPACE OVERFLOWSPACE:DATASEGMENT:_DATA_GOUP_LENGTH:0018H***ERROR118:REFERENCE MADE TO ERRONEOUS EXTERNALSYMBOL:VOLUMEMODULE:C:\8051\OSDM.OBJ(OSDM)ADDRESS:4036H说明data存储空间的地址范围为0~0x7f,当公用变量数目和函数里的局部变量如果存储模式设为SMALL则局部变量先使用工作寄存器R2~R7作暂存当存储器不够用时则会以data型别的空间作暂存的个数超过0x7f时就会出现地址不够的现象解决方法将以data型别定义的公共变量修改为idata型别的定义说明如对编译出错感兴趣的网友能否把你们常遇到的错误信息收集起来并提出最终的解决办法加以归纳以期共享10定义了全局变量而没有外部External声明:reference made to erroneous external Ram空间不足:public refers to ignore segment外部变量:定义处不用加External,声明处要加External将以data型别定义的公共变量修改为idata型别的定义11***ERROR L118:REFERENCE MADE TO ERRONEOUS EXTERNAL定义了某某函数或全部变量在不同文件里面想调用它,却在包含头文件里面少了extern 语句,或只有主程序和包含头文件没有(EXTERN......定义语句(函数)).如果调试时有些if结构里的语句符合条件没有执行,或者某些语句不符合条件也被执行,那是因为if和else里有相同的语句,编译的时候作优化处理了。
KEIL常见编译错误大全

KEIL常见编译错误大全【致命错误】立即终止编译这些错误通常是命令行指定的无效选项的结果当编译器不能访问一个特定的源包含文件时也产生致命错误致命错误信息采用下面的格式C51FATAL-ERROR–ACTION:<current action>LINE:<line in which the error is detected>ERROR:<corresponding error message>C51TERMIANTED.C51FATAL-ERROR–ACTION:<current action>FILE:<file in which the error is detected>ERROR:<corresponding error message>C51TERMIANTED.下面说明Action和Error中可能的内容Actions ALLOCATING MEMORY编译器不能分配足够的存储区来编译指定的源文件.CREATING LIST-FILE/OBJECT-FILE/WORKFILE编译器不能建立列表文件,OBJ文件,或工作文件这个错误的出现可能是磁盘满或写保护,或文件已存在和只读.GENERATING INTERMEDIATE CODE源文件包含的一个函数太大,不能被编译器编译成虚拟代码.尝试把函数分小或重新编译.OPENING INPUT-FILE编译器不能发现或打开所选的源或包含文件.PARSING INVOKE-/#PRAGMA-LINE当在命令行检测到参数计算,或在一个#pragma中检测到参数计算,就产生这样的错误.PARSING SOURCE-FILE/ANALYZING DECLARATIONS源文件包含太多的外部参考.减少源文件访问的外部变量和函数的数目.WRITING TO FILE当写入列表文件,OBJ文件,或工作文件时遇到的错误.Errors‘(‘AFTER CONTROL EXPECTED一些控制参数需要用括号包含一个参数.当没有左括号时显示本信息.‘)’AFTER PARAMETER EXPECTED本信息表示包含没有参数的右括号.BAD DIGIT IN NUMBER一个控制参数的数字参数包含无效字符.只能是十进制数.CAN’T CREATE FILE在FILE行定义的文件名不能建立.CAN’T HAVE GERERAL CONTROL IN INVOCATION LINE一般控制(例如EJECT)不能包含在命令行.把这些控制用#pragma声明放在源文件中.FILE DOES NOT EXIST没有发现定义在FILE行的文件.FILE WRITE-ERROR因为磁盘空间不够,写到列表,预打印,工作,或目标文件时出错.IDENTIFIER EXPECTED当DEFINE控制没有参数时产生本信息.DEFINE要求一个参数作为标识符.这和C语言的规则相同.MEMORY SPACE EXHAUSTED编译器不能分配足够的存储区来编译指定的源文件.如果始终出现这个信息,应该把源文件分成两个或多个小文件再重新编译.MORE THAN100ERRORS IN SOURCE-FILE在编译时检测到的错误超过100个.这使编译器终止.MORE THAN256SEGMENTS/EXTERNALS在一个源文件中的参考超过256.个单个的源文件不能有超过256个函数或外部参考.这是INTEL目标模块格式(OMF-51)的历史的限制.包含标量和/或bit声明的函数在OBJ文件中生成两个,有时候三个段定义NON-NULL ARGUMENT EXPECTED所选的控制参数需要用括号包含一个参数(例如,一个文件名或一个数字)OUT OF RANGE NUMBER一个控制参数的数字参数超出范围.例如OPTIMIZE控制只允许数字0到6,值7就将产生本错误信息.PARSE STACK OVERFLOW解析堆栈溢出.如果源程序包含很复杂的表达式或如果块的嵌套深度超过31级,就会出现这个错误PREPROCESSOR:LINE TOO LONG(32K)一个中间扩展长度超过32K字符.PREPROCESSOR:MACROS TOO NESTED在宏扩展期间,预处理器所用的堆栈太大.这个信息通常表示一个递归的宏定义,但也可表示一个宏嵌套太多.RESPECIFIED OR CONFLICTING CONTROL一个命令行参数指定了两次,或命令行参数冲突.SOURCE MUST COME FROM A DISK-FILE源和包含文件必须存在.控制台CON;,;CI;,或类似的设备不能作为输入文件. UNKNOWN CONTROL所选的控制参数不认识.【语法和语义错误】语法和语义错误一般出现在源程序中.它们确定实际的编程错误.当遇到这些错误时,编译器尝试绕过错误继续处理源文件.当遇到更多的错误时,编译器输出另外的错误,信息但是不产生OBJ文件.语法和语义错误在列表文件中生成一条信息这些错误信息用下面的格式***ERROR number IN LINE line OF file:error message这里number错误号line对应源文件或包含文件的行号file产生错误的源或包含文件名error message对错误的叙述说明下表按错误号列出了语法和语义错误错误信息列出了主要说明和可能的原因和改正号错误信息和说明100跳过不可打印字符0x??在源文件中发现一个非法字符.(注意不检查注释中的字符)101字符串没结束一个字符串没有用双引号终止.102字符串太长一个字符串不能超过4096个字符用串联符号\在逻辑上可延长字符串超过4096个字符这个模式的行终止符在词汇分析时是连续的103无效的字符常数一个字符常数的格式无效符号\c是无效的除非c是任何可打印的ASCII字符125声明符太复杂20一个目标的声明可包含最多20个类型修饰符[]*这个错误经常伴随着错误126类型堆栈下溢类型声明堆栈下溢这个错误通常死错误125的副产品127无效存储类一个目标用一个无效的存储空间标识符声明如果一个目标在一个函数外用存储类auto或register声明就会产生本错误129在标记前缺少本错误通常表示前一行缺少分号当出现本错误时编译器会产生很多错误信息130值超出范围在一个using或interrupt标识符后的数字参数是无效的using标识符要求一个0到3之间的寄存器组号interrupt标识符要求一个0到31之间的中断矢量号131函数参数重复一个函数有相同的参数名在函数声明中参数名必须是唯一的132没在正式的参数列表一个函数的参数声明用了一个名称没在参数名列表中例如char function(v0,v1,v2)char*v0,*v1,*v5;/*‘v5’没在正式列表中*/{/*…*/}134函数的xdata/idata/pdata/data不允许函数通常位于code存储区不能在别的存储区运行函数默认定义为存储类型code135bit的存储类错bit标量的声明可能包含一个static或extern存储类register或alien类是无效的136变量用了voidvoid类型只允许作为一个不存在的返回值或一个函数的空参数列表voidfunc(void)或和一个指针组合void*138Interrupt()不能接受或返回值一个中断函数被定义了一个或多个正式的参数或一个返回值中断函数不能包含调用参数或返回值140位在非法的存储空间bit标量的定义可以包含可选的存储类型data如果没有存储类型则默认为data因为位通常在内部数据存储区当试图对一个bit标量定义别的数据类型时会产生本错误141临近标志语法错误期待别的标志…编译器所见的标志是错误的参考所显示的期待的内容142无效的基地址一个sfr或sbit声明的基地址是错误的有效的基地址范围在0x80到0xFF之间如果用符号基地址^位号声明则基地址必须是8的倍数143无效的绝对位地址sbit声明中的绝对位地址必须在0x80到0xFF之间144基地址^位号无效的位号sbit声明中定义的位号必须在0到7之间145未知的sfr146无效sfr一个绝对位基地址^位号的声明包含一个无效的基地址标识符基地址必须是已经声明的sfr任何别的名称是无效的147目标文件太大单个目标文件不能超过6553564K字节-1149struct/union包含函数成员struct或union不能包含一个函数类型的成员但是指向函数的指针是可以的150struct/union包含一个bit成员一个union不能包含bit类型成员这是8051的结构决定的151struct/union自我关联一个结构不能包含自己152位号超出位域位域声明中指定的位号超过给定基类的位号153命名的位域不能为零命名的位域为零只要未命名的位域允许为零154位域指针指向位域的指针不允许155位域要求char/int位域的基类要求char或int unsigned char和unsigned int类型也行156alien只允许对函数157alien函数带可变参数存储类alien只对外部PL/M-51函数允许符号char*,…在alien函数中是非法的PL/M-51函数通常要求一个固定的参数表158函数包含未命名的参数一个函数的参数列表定义包含一个未命名的抽象类型定义这个符号只允许在函数原型中159void后面带类型函数的原型声明可包含一个空参数列表例如int func(void)在void后不能再有类型定义160void无效void类型只在和指针组合或作为一个函数的不存在的返回值中是合法的161忽视了正式参数在一个函数内一个外部函数的声明用了一个没有类型标识符的参数名列表例如extern yylex(a,b,c);180不能指向一个函数指向一个函数的类型是无效的尝试用指针指向一个函数181操作数不兼容对给定的操作符至少一个操作数类型是无效的例如~float_type183左值不能修改要修改的目标位于code存储区或有const属性因此不能修改184sizeof非法操作数sizeof操作符不能确定一个函数或位域的大小185不同的存储空间一个目标声明的存储空间和前一个同样目标声明的存储空间不同186解除参照无效一个内部编译器问题会产生本信息如果本错误重复出现请和技术支持接洽187不是一个左值所需的参数必须是一个可修改的目标地址188未知目标大小因为没有一个数组的维数或间接通过一个void指针一个目标的大小不能计算189&对bit/sfr非法取地址符’&’不允许对bit目标或特殊函数寄存器sfr190&不是一个左值尝试建立一个指针指向一个未知目标193非法操作类型193对ptr非法add/sub193对bit的非法操作193错误操作数类型当对一个给定的操作符用了非法的操作数类型时产生本错误例如无效的表达式如bit*bit ptr+ptr或ptr*anything这个错误信息包括引起错误的操作符下面的操作对bit类型的操作数是可行的赋值=OR/复合OR||=AND/复合AND&&=XOR/复合XOR^^=bit比较==!=取反~bit操作数可和别的数据类型在表达式中混用在这种情况类型转换自动执行194*间接指向一个未知大小的目标间接操作符*不能和void指针合用因为指针所指的目标的大小是未知的195*间接非法*操作符不能用到非指针参数196存储空间可能无效转换一个常数到一个指针常数产生一个无效的存储空间例如char*p=0x91234198sizeof返回零sizeof操作符返回一个零199->’的左边要求struct/union指针->操作符的左边参数必须是一个struct指针或一个union指针200.左边要求struct/union.操作符的左边参数要求必须是struct或union类型201未定义的struct/union给定的struct或union名是未知的202未定义的标识符给定的标识符是未定义的203错误的存储类参考名本错误表示编译器的一个问题如果重复出现请接洽技术支持204未定义的成员给定的一个struct或union成员名是未定义的205不能调用一个中断函数一个中断函数不能象一个正常函数一样调用中断的入口和退出代码是特殊的207参数列表声明为void参数列表声明为void的函数不能从调用者接收参数208太多的实参函数调用包含太多的实参209太少的实参调用函数包含太少的实参210太多的嵌套调用函数的嵌套调用不能超过10级211调用不是对一个函数一个函数的调用项不是对一个函数或函数指针求值212间接调用寄存器的参数不匹配通过一个指针的间接函数调用不包含实际的参数一个例外是当所有的参数可以通过寄存器传递这是由于Cx51所用的传递参数的方法被调用的函数名必须是已知的因为参数写到被调用函数的数据段但是对间接调用来说被调用函数的名称是未知的213赋值符的左边不是一个左值赋值符的左边要求一个可修改目标的地址214非法指针转换bit float或集合类型的目标不能转换为指针215非法类型转换struct/union/void不能转换为任何别的类型216标号用在非数组中或维数超出一个数组引用包含太大的维数或目标不是一个数组217非整数索引一个数组的维数表达式必须是char unsigned char int或unsigned int类型别的类型都是非法的218控制表达式用了void类型在一个while for或do的限制表达式中不能用类型void219long常数缩减为int一个常数表达式的值必须能用一个int类型表示220非法常数表达式期望一个常数表达式目标名变量或函数不允许出现在常数表达式中221非常数case/dim表达式一个case或一个维数[]必须是一个常数表达式222被零除223被零取模编译器检测到一个被零除或取模225表达式太复杂需简化一个表达式太复杂必须分成两个或多个子表达式226重复的struct/union/enum标记一个struct union或enum名早已定义227表示一个union标记一个union名称早已定义为别的类型228表示一个struct标记一个struct名早已定义为别的类型229表示一个enum标记一个enum名早已定义为别的类型230未知的struct/union/enum标记指定的struct union或enum名未定义231重复定义指定的名称已被定义232重复标号指定的标号已定义233未定义标号表示一个标号未定义有时候这个信息会在实际的标号的几行后出现这是所用的未定义标号的搜索方法引起的234{堆栈范围溢出31超过了最多31个嵌套块超出的嵌套块被忽略235参数<数字>不同类型函数声明的参数类型和函数原型中的不同236参数列表的长度不同函数声明中的参数数目和函数原型中的不同237函数早已定义试图声明一个函数体两次238重复成员239重复参数试图定义一个已存在的struct成员或函数参数240超出128个局部bit在一个函数内不能超过128个bit标量241auto段太大局部目标所需的空间超过模式的极限最大的段大小定义如下SMALL128字节COMPACT256字节LARGE65535字节242太多的初始化软件初始化软件的数目超过初始化目标的数量243字符串超出范围字符串中的字符数目超出字符串初始化的数目244不能初始化错误的类型或类试图初始化一个bit或sfr245未知的pragma跳过本行#pragma状态未知所以整行被忽略246浮点错误当一个浮点参数超出32位的范围就产生本错误32位IEEE值的范围是±1.175494E-38到±3.402823E+38247非地址/常数初始化一个有效的初始化表达式必须是一个常数值求值或一个目标名加或减去一个常数248集合初始化需要大括号给定struct或union初始化缺少大括号{}249段<名>段太大编译器检测到一个数据段太大一个数据段的最大的大小由存储空间决定250\esc值超过255一个字符串常数中的转义序列超过有效值范围最大值是255252非法八进制数指定的字符不是一个有效的八进制数252主要控制放错地方行被忽略主要控制必须被指定在C模块的开头在任何#include命令或声明前253内部错误ASMGEN\CLASS在下列情况下出现本错误,一个内在函数例如_testbit_被错误激活这种情况是在没有函数原型存在和实参数目或类型错误对这种原因必须使用合适的声明文件,INTRINS.H STRING.H参考第八章中的instrinsic函数,Cx51确认一个内部一致性问题请接洽技术支持255switch表达式有非法类型在一个switch表达式没有合法的数据类型256存储模式冲突一个包含alien属性的函数只能包含模式标识符small函数的参数必须位于内部数据区这适用于所有的外部alien声明和alien函数,例如:alien plm_func(char c)large{…}产生错误256。
KEIL常见编译错误大全

KEIL常见编译错误大全KEIL常见编译错误大全【致命错误】立即终止编译这些错误通常是命令行指定的无效选项的结果当编译器不能访问一个特定的源包含文件时也产生致命错误致命错误信息采用下面的格式C51FATAL-ERROR–ACTION:LINE:ERROR:C51TERMIANTED.C51FATAL-ERROR–ACTION:FILE:ERROR:C51TERMIANTED.下面说明Action和Error中可能的内容Actions ALLOCATING MEMORY编译器不能分配足够的存储区来编译指定的源文件.CREATING LIST-FILE/OBJECT-FILE/WORKFILE编译器不能建立列表文件,OBJ文件,或工作文件这个错误的出现可能是磁盘满或写保护,或文件已存在和只读.GENERATING INTERMEDIATE CODE源文件包含的一个函数太大,不能被编译器编译成虚拟代码.尝试把函数分小或重新编译.OPENING INPUT-FILE编译器不能发现或打开所选的源或包含文件.PARSING INVOKE-/#PRAGMA-LINE当在命令行检测到参数计算,或在一个#pragma中检测到参数计算,就产生这样的错误.PARSING SOURCE-FILE/ANALYZING DECLARATIONS源文件包含太多的外部参考.减少源文件访问的外部变量和函数的数目.WRITING TO FILE当写入列表文件,OBJ文件,或工作文件时遇到的错误.Errors‘(‘AFTER CONTROL E XPECTED一些控制参数需要用括号包含一个参数.当没有左括号时显示本信息.‘)’AFTER PARAMETER EXPECTED本信息表示包含没有参数的右括号.BAD DIGIT IN NUMBER一个控制参数的数字参数包含无效字符.只能是十进制数.CAN’T CREATE FILE在FILE行定义的文件名不能建立.CAN’T HAVE GERERAL CONTROL IN INVOCATION LINE一般控制(例如EJECT)不能包含在命令行.把这些控制用#pragma 声明放在源文件中.FILE DOES NOT EXIST没有发现定义在FILE行的文件.FILE WRITE-ERROR因为磁盘空间不够,写到列表,预打印,工作,或目标文件时出错.IDENTIFIER EXPECTED当DEFINE控制没有参数时产生本信息.DEFINE要求一个参数作为标识符.这和C语言的规则相同.MEMORY SPACE EXHAUSTED编译器不能分配足够的存储区来编译指定的源文件.如果始终出现这个信息,应该把源文件分成两个或多个小文件再重新编译.MORE THAN100ERRORS IN SOURCE-FILE在编译时检测到的错误超过100个.这使编译器终止.MORE THAN256SEGMENTS/EXTERNALS在一个源文件中的参考超过256.个单个的源文件不能有超过256个函数或外部参考.这是INTEL目标模块格式(OMF-51)的历史的限制.包含标量和/或bit声明的函数在OBJ文件中生成两个,有时候三个段定义NON-NULL ARGUMENT EXPECTED所选的控制参数需要用括号包含一个参数(例如,一个文件名或一个数字)OUT OF RANGE NUMBER一个控制参数的数字参数超出范围.例如OPTIMIZE控制只允许数字0到6,值7就将产生本错误信息.PARSE STACK OVERFLOW解析堆栈溢出.如果源程序包含很复杂的表达式或如果块的嵌套深度超过31级,就会出现这个错误PREPROCESSOR:LINE TOO LONG(32K)一个中间扩展长度超过32K字符.PREPROCESSOR:MACROS TOO NESTED在宏扩展期间,预处理器所用的堆栈太大.这个信息通常表示一个递归的宏定义,但也可表示一个宏嵌套太多.RESPECIFIED OR CONFLICTING CONTROL一个命令行参数指定了两次,或命令行参数冲突.SOURCE MUST COME FROM A DISK-FILE源和包含文件必须存在.控制台CON;,;CI;,或类似的设备不能作为输入文件. UNKNOWN CONTROL所选的控制参数不认识.【语法和语义错误】语法和语义错误一般出现在源程序中.它们确定实际的编程错误.当遇到这些错误时,编译器尝试绕过错误继续处理源文件.当遇到更多的错误时,编译器输出另外的错误,信息但是不产生OBJ文件.语法和语义错误在列表文件中生成一条信息这些错误信息用下面的格式***ERROR number IN LINE line OF file:error message这里number错误号line对应源文件或包含文件的行号file产生错误的源或包含文件名error message对错误的叙述说明下表按错误号列出了语法和语义错误错误信息列出了主要说明和可能的原因和改正号错误信息和说明100跳过不可打印字符0x??在源文件中发现一个非法字符.(注意不检查注释中的字符)101字符串没结束一个字符串没有用双引号终止.102字符串太长一个字符串不能超过4096个字符用串联符号\在逻辑上可延长字符串超过4096个字符这个模式的行终止符在词汇分析时是连续的103无效的字符常数一个字符常数的格式无效符号\c是无效的除非c是任何可打印的ASCII字符125声明符太复杂20一个目标的声明可包含最多20个类型修饰符[]*这个错误经常伴随着错误126类型堆栈下溢类型声明堆栈下溢这个错误通常死错误125的副产品127无效存储类一个目标用一个无效的存储空间标识符声明如果一个目标在一个函数外用存储类auto或register声明就会产生本错误129在标记前缺少本错误通常表示前一行缺少分号当出现本错误时编译器会产生很多错误信息130值超出范围在一个using或interrupt标识符后的数字参数是无效的using标识符要求一个0到3之间的寄存器组号interrupt标识符要求一个0到31之间的中断矢量号131函数参数重复一个函数有相同的参数名在函数声明中参数名必须是唯一的132没在正式的参数列表一个函数的参数声明用了一个名称没在参数名列表中例如char function(v0,v1,v2)char*v0,*v1,*v5;/*‘v5’没在正式列表中*/{/*…*/}134函数的xdata/idata/pdata/data不允许函数通常位于code存储区不能在别的存储区运行函数默认定义为存储类型code135bit的存储类错bit标量的声明可能包含一个static或extern存储类register或alien类是无效的136变量用了voidvoid类型只允许作为一个不存在的返回值或一个函数的空参数列表voidfunc(void)或和一个指针组合void*138Interrupt()不能接受或返回值一个中断函数被定义了一个或多个正式的参数或一个返回值中断函数不能包含调用参数或返回值140位在非法的存储空间bit标量的定义可以包含可选的存储类型data如果没有存储类型则默认为data因为位通常在内部数据存储区当试图对一个bit标量定义别的数据类型时会产生本错误141临近标志语法错误期待别的标志…编译器所见的标志是错误的参考所显示的期待的内容142无效的基地址一个sfr或sbit声明的基地址是错误的有效的基地址范围在0x80到0xFF之间如果用符号基地址^位号声明则基地址必须是8的倍数143无效的绝对位地址sbit声明中的绝对位地址必须在0x80到0xFF之间144基地址^位号无效的位号sbit声明中定义的位号必须在0到7之间145未知的sfr146无效sfr一个绝对位基地址^位号的声明包含一个无效的基地址标识符基地址必须是已经声明的sfr任何别的名称是无效的147目标文件太大单个目标文件不能超过6553564K字节-1149struct/union包含函数成员struct或union不能包含一个函数类型的成员但是指向函数的指针是可以的150struct/union包含一个bit成员一个union不能包含bit类型成员这是8051的结构决定的151struct/union自我关联一个结构不能包含自己152位号超出位域位域声明中指定的位号超过给定基类的位号153命名的位域不能为零命名的位域为零只要未命名的位域允许为零154位域指针指向位域的指针不允许155位域要求char/int位域的基类要求char或int unsigned char 和unsigned int类型也行156alien只允许对函数157alien函数带可变参数存储类alien只对外部PL/M-51函数允许符号char*,…在alien函数中是非法的PL/M-51函数通常要求一个固定的参数表158函数包含未命名的参数一个函数的参数列表定义包含一个未命名的抽象类型定义这个符号只允许在函数原型中159void后面带类型函数的原型声明可包含一个空参数列表例如int func(void)在void 后不能再有类型定义160void无效void类型只在和指针组合或作为一个函数的不存在的返回值中是合法的161忽视了正式参数在一个函数内一个外部函数的声明用了一个没有类型标识符的参数名列表例如extern yylex(a,b,c);180不能指向一个函数指向一个函数的类型是无效的尝试用指针指向一个函数181操作数不兼容对给定的操作符至少一个操作数类型是无效的例如~float_type 183左值不能修改要修改的目标位于code存储区或有const属性因此不能修改184sizeof非法操作数sizeof操作符不能确定一个函数或位域的大小185不同的存储空间一个目标声明的存储空间和前一个同样目标声明的存储空间不同186解除参照无效一个内部编译器问题会产生本信息如果本错误重复出现请和技术支持接洽187不是一个左值所需的参数必须是一个可修改的目标地址188未知目标大小因为没有一个数组的维数或间接通过一个void指针一个目标的大小不能计算189&对bit/sfr非法取地址符’&’不允许对bit目标或特殊函数寄存器sfr190&不是一个左值尝试建立一个指针指向一个未知目标193非法操作类型193对ptr非法add/sub193对bit的非法操作193错误操作数类型当对一个给定的操作符用了非法的操作数类型时产生本错误例如无效的表达式如bit*bit ptr+ptr或ptr*anything这个错误信息包括引起错误的操作符下面的操作对bit类型的操作数是可行的赋值= OR/复合OR||=AND/复合AND&&=XOR/复合XOR^^=bit比较==!=取反~bit操作数可和别的数据类型在表达式中混用在这种情况类型转换自动执行194*间接指向一个未知大小的目标间接操作符*不能和void指针合用因为指针所指的目标的大小是未知的195*间接非法*操作符不能用到非指针参数196存储空间可能无效转换一个常数到一个指针常数产生一个无效的存储空间例如char *p=0x91234198sizeof返回零sizeof操作符返回一个零199->’的左边要求struct/union指针->操作符的左边参数必须是一个struct指针或一个union指针200.左边要求struct/union.操作符的左边参数要求必须是struct或union类型201未定义的struct/union给定的struct或union名是未知的202未定义的标识符给定的标识符是未定义的203错误的存储类参考名本错误表示编译器的一个问题如果重复出现请接洽技术支持204未定义的成员给定的一个struct或union成员名是未定义的205不能调用一个中断函数一个中断函数不能象一个正常函数一样调用中断的入口和退出代码是特殊的207参数列表声明为void参数列表声明为void的函数不能从调用者接收参数208太多的实参函数调用包含太多的实参209太少的实参调用函数包含太少的实参210太多的嵌套调用函数的嵌套调用不能超过10级211调用不是对一个函数一个函数的调用项不是对一个函数或函数指针求值212间接调用寄存器的参数不匹配通过一个指针的间接函数调用不包含实际的参数一个例外是当所有的参数可以通过寄存器传递这是由于Cx51所用的传递参数的方法被调用的函数名必须是已知的因为参数写到被调用函数的数据段但是对间接调用来说被调用函数的名称是未知的213赋值符的左边不是一个左值赋值符的左边要求一个可修改目标的地址214非法指针转换bit float或集合类型的目标不能转换为指针215非法类型转换struct/union/void不能转换为任何别的类型216标号用在非数组中或维数超出一个数组引用包含太大的维数或目标不是一个数组217非整数索引一个数组的维数表达式必须是char unsigned char int或unsigned int类型别的类型都是非法的218控制表达式用了void类型在一个while for或do的限制表达式中不能用类型void219long常数缩减为int一个常数表达式的值必须能用一个int类型表示220非法常数表达式期望一个常数表达式目标名变量或函数不允许出现在常数表达式中221非常数case/dim表达式一个case或一个维数[]必须是一个常数表达式222被零除223被零取模编译器检测到一个被零除或取模225表达式太复杂需简化一个表达式太复杂必须分成两个或多个子表达式226重复的struct/union/enum标记一个struct union或enum名早已定义227表示一个union标记一个union名称早已定义为别的类型228表示一个struct标记一个struct名早已定义为别的类型229表示一个enum标记一个enum名早已定义为别的类型230未知的struct/union/enum标记指定的struct union或enum名未定义231重复定义指定的名称已被定义232重复标号指定的标号已定义233未定义标号表示一个标号未定义有时候这个信息会在实际的标号的几行后出现这是所用的未定义标号的搜索方法引起的234{堆栈范围溢出31超过了最多31个嵌套块超出的嵌套块被忽略235参数<数字>不同类型函数声明的参数类型和函数原型中的不同236参数列表的长度不同函数声明中的参数数目和函数原型中的不同237函数早已定义试图声明一个函数体两次238重复成员239重复参数试图定义一个已存在的struct成员或函数参数240超出128个局部bit在一个函数内不能超过128个bit标量241auto段太大局部目标所需的空间超过模式的极限最大的段大小定义如下SMALL128字节COMPACT256字节LARGE65535字节242太多的初始化软件初始化软件的数目超过初始化目标的数量243字符串超出范围字符串中的字符数目超出字符串初始化的数目244不能初始化错误的类型或类试图初始化一个bit或sfr245未知的pragma跳过本行#pragma状态未知所以整行被忽略246浮点错误当一个浮点参数超出32位的范围就产生本错误32位IEEE值的范围是±1.175494E-38到±3.402823E+38247非地址/常数初始化一个有效的初始化表达式必须是一个常数值求值或一个目标名加或减去一个常数248集合初始化需要大括号给定struct或union初始化缺少大括号{}249段<名>段太大编译器检测到一个数据段太大一个数据段的最大的大小由存储空间决定250\esc值超过255一个字符串常数中的转义序列超过有效值范围最大值是255252非法八进制数指定的字符不是一个有效的八进制数252主要控制放错地方行被忽略主要控制必须被指定在C模块的开头在任何#include命令或声明前253内部错误ASMGEN\CLASS在下列情况下出现本错误,一个内在函数例如_testbit_被错误激活这种情况是在没有函数原型存在和实参数目或类型错误对这种原因必须使用合适的声明文件,INTRINS.H STRING.H参考第八章中的instrinsic函数,Cx51确认一个内部一致性问题请接洽技术支持255switch表达式有非法类型在一个switch表达式没有合法的数据类型256存储模式冲突一个包含alien属性的函数只能包含模式标识符small函数的参数必须位于内部数据区这适用于所有的外部alien声明和alien函数,例如:alien plm_func(char c)large{…}产生错误256。
keil软件编译常见错误解释总结和中文翻译

Keil编译时出现错误和警告的总结和C 编译器错误信息中文翻译(1)L15重复调用***WARNING L15: MULTIPLE CALL TO SEGMENTSEGMENT: ?PR?SPI_RECEIVE_WORD?D_SPICALLER1: ?PR?VSYNC_INTERRUPT?MAINCALLER2: ?C_C51STARTUP该警告表示连接器发现有一个函数可能会被主函数和一个中断服务程序(或者调用中断服务程序的函数)同时调用,或者同时被多个中断服务程序调用。
出现这种问题的原因之一是这个函数是不可重入性函数,当该函数运行时它可能会被一个中断打断,从而使得结果发生变化并可能会引起一些变量形式的冲突(即引起函数内一些数据的丢失,可重入性函数在任何时候都可以被ISR打断,一段时间后又可以运行,但是相应数据不会丢失)。
原因之二是用于局部变量和变量(暂且这样翻译,arguments,[自变量,变元一数值,用于确定程序或子程序的值])的内存区被其他函数的内存区所覆盖,如果该函数被中断,则它的内存区就会被使用,这将导致其他函数的内存冲突。
例如,第一个警告中函数WRITE_GMVLX1_REG 在D_GMVLX1.C 或者D_GMVLX1.A51被定义,它被一个中断服务程序或者一个调用了中断服务程序的函数调用了,调用它的函数是VSYNC_INTERRUPT,在MAIN.C中。
解决方法:如果你确定两个函数决不会在同一时间执行(该函数被主程序调用并且中断被禁止),并且该函数不占用内存(假设只使用寄存器),则你可以完全忽略这种警告。
如果该函数占用了内存,则应该使用连接器(linker)OVERLAY指令将函数从覆盖分析(overlay analysis)中除去,例如:OVERLAY (?PR?_WRITE_GMVLX1_REG?D_GMVLX1 ! *)上面的指令防止了该函数使用的内存区被其他函数覆盖。
如果该函数中调用了其他函数,而这些被调用在程序中其他地方也被调用,你可能会需要也将这些函数排除在覆盖分析(overlay analysis)之外。
keil错误总结

KEIL编译错误信息表错误代码及错误信息错误释义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 类型不匹配error 27:error 27:Invalid subrange base type 无效的子界基类型error 28:Lower bound greater than upper bound 下界超过上界error 29:Ordinal type expected 缺有序类型error 30:Integer constant expected 缺整型常量error 31:Constant expected 缺常量error 32:Integer or real constant expected 缺整型或实型常量error 33:Pointer Type identifier expected 缺指针类型标识符error 34:Invalid function result type 无效的函数结果类型error 35:Label identifier expected 缺标号标识符error 36:BEGIN expected 缺BEGINerror 37:END expected 缺ENDerror 38:Integer expression expected 缺整型表达式error 39:Ordinal expression expected 缺有序类型表达式error 40:Boolean expression expected 缺布尔表达式error 41:Operand types do not match 操作数类型不匹配error 42:Error in expression 表达式错误error 43:Illegal assignment 非法赋值error 44:Field identifier expected 缺域标识符error 45:Object file too large 目标文件太大error 46:Undefined external 未定义的外部过程与函数error 47:Invalid object file record 无效的OBJ文件格式error 48:Code segment too large 代码段太长error 49:Data segment too large 数据段太长error 50:DO expected 缺DOerror 51:Invalid PUBLIC definition 无效的PUBLIC定义error 52:Invalid EXTRN definition 无效的EXTRN定义error 53: Too many EXTRN definitions 太多的EXTRN定义error 54:OF expected 缺OFerror 55:INTERFACE expected 缺INTERFACEerror 56:Invalid relocatable reference 无效的可重定位引用error 57:THEN expected 缺THENerror 58:TO or DOWNTO expected 缺TO或DOWNTOerror 59:Undefined forward 提前引用未经定义的说明error 61:Invalid typecast 无效的类型转换error 62:Division by zero 被零除error 63:Invalid file type 无效的文件类型error 64:Cannot read or write variables of this type 不能读写此类型变量error 65:Pointer variable expected 缺指针类型变量error 66:String variable expected 缺字符串变量error 67:String expression expected 缺字符串表达式error 68:Circular unit reference 单元UNIT部件循环引用error 69:Unit name mismatch 单元名不匹配error 70:Unit version mismatch 单元版本不匹配error 71:Internal stack overflow 内部堆栈溢出error 72:Unit file format error 单元文件格式错误error 73:IMPLEMENTATION expected 缺IMPLEMENTATIONerror 74:Constant and case types do not match 常量和CASE类型不匹配error 75:Record or object variable expected 缺记录或对象变量error 76:Constant out of range 常量越界error 77:File variable expected 缺文件变量error 78:Pointer expression expected 缺指针表达式error 79:Integer or real expression expected 缺整型或实型表达式error 80:Label not within current block 标号不在当前块内error 81:Label already defined 标号已定义error 82:Undefined label in preceding statement part 在前面未定义标号error 83:Invalid @ argument 无效的@参数error 84:UNIT expected 缺UNITerror 85: ";" expected 缺“;”error 86:":" expected 缺“:”error 87:"," expected 缺“,”error 88:"(" expected 缺“(”error 89:")" expected 缺“)”error 90:"=" expected 缺“=”error 91:":=" expected 缺“:=”error 92:"[" or "(." Expected 缺“[”或“(.”error 93: "]" or ".)" expected 缺“]”或“.)”error 94:"." expected 缺“.”error 95: ".." expected 缺“..”error 96:Too many variables 变量太多error 97:Invalid FOR control variable 无效的FOR循环控制变量error 98:Integer variable expected 缺整型变量error 99:Files and procedure types are not allowed here 该处不允许文件和过程类型error 100:String length mismatch 字符串长度不匹配error 101:Invalid ordering of fields 无效域顺序error 102:String constant expected 缺字符串常量error 103:Integer or real variable expected 缺整型或实型变量error 104:Ordinal variable expected 缺有序类型变量error 105:INLINE error INLINE错误error 106:Character expression expected 缺字符表达式error 107:Too many relocation items 重定位项太多error 108:Overflow in arithmetic operation 算术运算溢出error 112:CASE constant out of range CASE常量越界error 113:Error in statement 表达式错误error 114:Cannot call an interrupt procedure 不能调用中断过程error 116:Must be in 8087 mode to compile this 必须在8087模式编译error 117:Target address not found 找不到目标地址error 118:Include files are not allowed here 该处不允许INCLUDE文件error 119:No inherited methods are accessible here 该处继承方法不可访问error 121:Invalid qualifier 无效的限定符error 122:Invalid variable reference 无效的变量引用error 123:Too many symbols 符号太多error 124:Statement part too large 语句体太长error 126:Files must be var parameters 文件必须是变量形参error 127:Too many conditional symbols 条件符号太多error 128:Misplaced conditional directive 条件指令错位error 129:ENDIF directive missing 缺ENDIF指令error 130:Error in initial conditional defines 初始条件定义错误error 131:Header does not match previous definition 和前面定义的过程或函数不匹配error 133:Cannot evaluate this expression 不能计算该表达式error 134:Expression incorrectly terminated 表达式错误结束error 135:Invalid format specifier 无效格式说明符error 136:Invalid indirect reference 无效的间接引用error 137:Structured variables are not allowed here 该处不允许结构变量error 138:Cannot evaluate without System unit 没有System单元不能计算error 139:Cannot access this symbol 不能存取符号error 140:Invalid floating point operation 无效的符号运算error 141:Cannot compile overlays to memory 不能编译覆盖模块至内存error 142:Pointer or procedural variable expected 缺指针或过程变量error 143:Invalid procedure or function reference 无效的过程或函数调用error 144:Cannot overlay this unit 不能覆盖该单元error 146:File access denied 不允许文件访问error 147:Object type expected 缺对象类型error 148:Local object types are not allowed 不允许局部对象类型error 149:VIRTUAL expected 缺VIRTUALerror 150: Method identifier expected 缺方法标识符error 151:Virtual constructors are not allowed 不允许虚构造函数error 152:Constructor identifier expected 缺构造函数标识符error 153:Destructor identifier expected 缺析构函数标识符error 154:Fail only allowed within constructors 只能在构造函数内使用Fail标准过程error 155:Invalid combination of opcode and operands 操作数与操作符无效组合error 156:Memory reference expected 缺内存引用指针error 157:Cannot add or subtract relocatable symbols 不能加减可重定位符号error 158:Invalid register combination 无效寄存器组合error 159:286/287 instructions are not enabled 未激活286/287指令error 160:Invalid symbol reference 无效符号指针error 161:Code generation error 代码生成错误error 162:ASM expected 缺ASMerror 166:Procedure or function identifier expected 缺过程或函数标识符error 167:Cannot export this symbol 不能输出该符号error 168:Duplicate export name 外部文件名重复error 169:Executable file header too large 可执行文件头太长error 170:Too many segments 段太多一、运行错误信息运行错误分为四类:1-99为DOS错误;100-149为I/O错误,发生I/O后,如果使用了编译开关{$I+},程序将终止执行,否则编译开关为{$I-},程序继续执行,并由IOResult函数返回错误信息;150-199为严重错误,200-255为致命错误,致命错误将立即终止程序执行。
KEIL C编译器错误与解决方法

编译错误信息表可按 Ctrl+F进行查找错误代码及错误信息错误释义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 类型不匹配error 27:error 27:Invalid subrange base type 无效的子界基类型error 28:Lower bound greater than upper bound 下界超过上界error 29:Ordinal type expected 缺有序类型error 30:Integer constant expected 缺整型常量error 31:Constant expected 缺常量error 32:Integer or real constant expected 缺整型或实型常量error 33:Pointer Type identifier expected 缺指针类型标识符error 34:Invalid function result type 无效的函数结果类型error 35:Label identifier expected 缺标号标识符error 36:BEGIN expected 缺BEGINerror 37:END expected 缺ENDerror 38:Integer expression expected 缺整型表达式error 39:Ordinal expression expected 缺有序类型表达式error 40:Boolean expression expected 缺布尔表达式error 41:Operand types do not match 操作数类型不匹配error 42:Error in expression 表达式错误error 43:Illegal assignment 非法赋值error 44:Field identifier expected 缺域标识符error 45:Object file too large 目标文件太大error 46:Undefined external 未定义的外部过程与函数error 47:Invalid object file record 无效的OBJ文件格式error 48:Code segment too large 代码段太长error 49:Data segment too large 数据段太长error 50:DO expected 缺DOerror 51:Invalid PUBLIC definition 无效的PUBLIC定义error 52:Invalid EXTRN definition 无效的EXTRN定义error 53: Too many EXTRN definitions 太多的EXTRN定义error 54:OF expected 缺OFerror 55:INTERFACE expected 缺INTERFACEerror 56:Invalid relocatable reference 无效的可重定位引用error 57:THEN expected 缺THENerror 58:TO or DOWNTO expected 缺TO或DOWNTOerror 59:Undefined forward 提前引用未经定义的说明error 61:Invalid typecast 无效的类型转换error 62:Division by zero 被零除error 63:Invalid file type 无效的文件类型error 64:Cannot read or write variables of this type 不能读写此类型变量error 65:Pointer variable expected 缺指针类型变量error 66:String variable expected 缺字符串变量error 67:String expression expected 缺字符串表达式error 68:Circular unit reference 单元UNIT部件循环引用error 69:Unit name mismatch 单元名不匹配error 70:Unit version mismatch 单元版本不匹配error 71:Internal stack overflow 内部堆栈溢出error 72:Unit file format error 单元文件格式错误error 73:IMPLEMENTATION expected 缺IMPLEMENTATIONerror 74:Constant and case types do not match 常量和CASE类型不匹配error 75:Record or object variable expected 缺记录或对象变量error 76:Constant out of range 常量越界error 77:File variable expected 缺文件变量error 78:Pointer expression expected 缺指针表达式error 79:Integer or real expression expected 缺整型或实型表达式error 80:Label not within current block 标号不在当前块内error 81:Label already defined 标号已定义error 82:Undefined label in preceding statement part 在前面未定义标号error 83:Invalid @ argument 无效的@参数error 84:UNIT expected 缺UNITerror 85: ";" expected 缺“;”error 86: ":" expected 缺“:”error 87: "," expected 缺“,”error 88: "(" expected 缺“(”error 89: ")" expected 缺“)”error 90: "=" expected 缺“=”error 91: ":=" expected 缺“:=”error 92: "[" or "(." Expected 缺“[”或“(.”error 93: "]" or ".)" expected 缺“]”或“.)”error 94: "." expected 缺“.”error 95: ".." expected 缺“..”error 96:Too many variables 变量太多error 97:Invalid FOR control variable 无效的FOR循环控制变量error 98:Integer variable expected 缺整型变量error 99:Files and procedure types are not allowed here 该处不允许文件和过程类型error 100:String length mismatch 字符串长度不匹配error 101:Invalid ordering of fields 无效域顺序error 102:String constant expected 缺字符串常量error 103:Integer or real variable expected 缺整型或实型变量error 104:Ordinal variable expected 缺有序类型变量error 105:INLINE error INLINE错误error 106:Character expression expected 缺字符表达式error 107:Too many relocation items 重定位项太多error 108:Overflow in arithmetic operation 算术运算溢出error 112:CASE constant out of range CASE常量越界error 113:Error in statement 表达式错误error 114:Cannot call an interrupt procedure 不能调用中断过程error 116:Must be in 8087 mode to compile this 必须在8087模式编译error 117:Target address not found 找不到目标地址error 118:Include files are not allowed here 该处不允许INCLUDE文件error 119:No inherited methods are accessible here 该处继承方法不可访问error 121:Invalid qualifier 无效的限定符error 122:Invalid variable reference 无效的变量引用error 123:Too many symbols 符号太多error 124:Statement part too large 语句体太长error 126:Files must be var parameters 文件必须是变量形参error 127:Too many conditional symbols 条件符号太多error 128:Misplaced conditional directive 条件指令错位error 129:ENDIF directive missing 缺ENDIF指令error 130:Error in initial conditional defines 初始条件定义错误error 131:Header does not match previous definition 和前面定义的过程或函数不匹配error 133:Cannot evaluate this expression 不能计算该表达式error 134:Expression incorrectly terminated 表达式错误结束error 135:Invalid format specifier 无效格式说明符error 136:Invalid indirect reference 无效的间接引用error 137:Structured variables are not allowed here 该处不允许结构变量error 138:Cannot evaluate without System unit 没有System单元不能计算error 139:Cannot access this symbol 不能存取符号error 140:Invalid floating point operation 无效的符号运算error 141:Cannot compile overlays to memory 不能编译覆盖模块至内存error 142:Pointer or procedural variable expected 缺指针或过程变量error 143:Invalid procedure or function reference 无效的过程或函数调用error 144:Cannot overlay this unit 不能覆盖该单元error 146:File access denied 不允许文件访问error 147:Object type expected 缺对象类型error 148:Local object types are not allowed 不允许局部对象类型error 149:VIRTUAL expected 缺VIRTUALerror 150: Method identifier expected 缺方法标识符error 151:Virtual constructors are not allowed 不允许虚构造函数error 152:Constructor identifier expected 缺构造函数标识符error 153:Destructor identifier expected 缺析构函数标识符error 154:Fail only allowed within constructors 只能在构造函数内使用Fail标准过程error 155:Invalid combination of opcode and operands 操作数与操作符无效组合error 156:Memory reference expected 缺内存引用指针error 157:Cannot add or subtract relocatable symbols 不能加减可重定位符号error 158:Invalid register combination 无效寄存器组合error 159:286/287 instructions are not enabled 未激活286/287指令error 160:Invalid symbol reference 无效符号指针error 161:Code generation error 代码生成错误error 162:ASM expected 缺ASMerror 166:Procedure or function identifier expected 缺过程或函数标识符error 167:Cannot export this symbol 不能输出该符号error 168:Duplicate export name 外部文件名重复error 169:Executable file header too large 可执行文件头太长error 170:Too many segments 段太多。
Keil常见编译错误

Keil编译常见错误Part 1 Warningswarning: #167-D: argument of type "XXXX" is incompatible with parameter of type "YYYY"意义: 类型为XXXX的参数(实参)与类型为YYYY的参数(形参)不一致。
说明: 编译器在编译过程中会检查函数调用时的实参与形参数据类型的匹配情况。
当发现两者不一致时,给出警告。
warning: #177-D: variable "XXXX" was declared but never referenced. 意义: 定义的变量XXXX从未被使用过。
warning: #223-D: function "XXXX" declared implicitly意义: 函数XXXX采用了隐含式的声明。
说明: 函数XXXX在调用时没有定义或编译器没有看到该函数的声明,于是编译器将使用了缺省的数据类型作为该函数的定义。
常见问题:1.函数的定义出现在函数调用之后。
2.函数没有定义warning: #513-D: a value of type "XXXX" cannot be assigned to an entity of type "YYYY"意义: 类型为XXXX的值不能赋值给一个YYYY的实体。
说明: 按照C语言的规则,变量和数值都被赋予一定的数据类型。
在赋值操作时,变量的类型与其所赋的值的类型必须一致。
遇到这类问题时,要仔细观察和思考两者是否存在冲突。
常见问题:warning: #1295-D: Deprecated declaration XXXX - give arg types.意义: 弃用的声明XXXX, 请给出参数的数据类型。
说明: 按照最新C语言标准的要求,函数在声明时必须说明所有参数的类型,以及返回值的类型。
Keil C 编译器常见警告与错误信息

Keil C 编译器常见警告与错误信息error C132 :“****”not in formal parameter list 花了偶将近半个小时来查找错误,最终发现原来是在头文件里的一个函数声明时露了一个分号造成紧挨着在它下面声明的参数not in formal parameter list。
记在在这里,免得以后忘记了,同时也供大家分享。
下面是另外一些常见的错误提示:1.第一种错误信息***WARNING L15: MULTIPLE CALL TO SEGMENTSEGMENT: ?PR?_WRITE_GMVLX1_REG?D_GMVLX1CALLER1: ?PR?VSYNC_INTERRUPT?MAINCALLER2: ?C_C51STARTUP***WARNING L15: MULTIPLE CALL TO SEGMENTSEGMENT: ?PR?_SPI_SEND_WORD?D_SPICALLER1: ?PR?VSYNC_INTERRUPT?MAINCALLER2: ?C_C51STARTUP***WARNING L15: MULTIPLE CALL TO SEGMENTSEGMENT: ?PR?SPI_RECEIVE_WORD?D_SPICALLER1: ?PR?VSYNC_INTERRUPT?MAINCALLER2: ?C_C51STARTUP-该警告表示连接器发现有一个函数可能会被主函数和一个中断服务程序(或者调用中断服务程序的函数)同时调用,或者同时被多个中断服务程序调用。
出现这种问题的原因之一是这个函数是不可重入性函数,当该函数运行时它可能会被一个中断打断,从而使得结果发生变化并可能会引起一些变量形式的冲突(即引起函数内一些数据的丢失,可重入性函数在任何时候都可以被ISR打断,一段时间后又可以运行,但是相应数据不会丢失)。
原因之二是用于局部变量和变量(暂且这样翻译,arguments,[自变量,变元一数值,用于确定程序或子程序的值])的内存区被其他函数的内存区所覆盖,如果该函数被中断,则它的内存区就会被使用,这将导致其他函数的内存冲突。
KeiluV4编译错误信息表

KeiluV4编译错误信息表Keil uV4编译错误信息表错误代码及错误信息错误释义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 类型不匹配error 27:error 27:Invalid subrange base type 无效的子界基类型error 28:Lower bound greater than upper bound 下界超过上界error 29:Ordinal type expected 缺有序类型error 30:Integer constant expected 缺整型常量error 31:Constant expected 缺常量error 32:Integer or real constant expected 缺整型或实型常量error 33:Pointer Type identifier expected 缺指针类型标识符error 34:Invalid function result type 无效的函数结果类型error 35:Label identifier expected 缺标号标识符error 36:BEGIN expected 缺BEGINerror 37:END expected 缺ENDerror 38:Integer expression expected 缺整型表达式error 39:Ordinal expression expected 缺有序类型表达式error 40:Boolean expression expected 缺布尔表达式error 41:Operand types do not match 操作数类型不匹配error 42:Error in expression 表达式错误error 43:Illegal assignment 非法赋值error 44:Field identifier expected 缺域标识符error 45:Object file too large 目标文件太大error 46:Undefined external 未定义的外部过程与函数error 47:Invalid object file record 无效的OBJ文件格式error 48:Code segment too large 代码段太长error 49:Data segment too large 数据段太长error 50:DO expected 缺DOerror 51:Invalid PUBLIC definition 无效的PUBLIC定义error 52:Invalid EXTRN definition 无效的EXTRN定义error 53: Too many EXTRN definitions 太多的EXTRN定义error 54:OF expected 缺OFerror 55:INTERFACE expected 缺INTERFACEerror 56:Invalid relocatable reference 无效的可重定位引用error 57:THEN expected 缺THENerror 58:TO or DOWNTO expected 缺TO或DOWNTOerror 59:Undefined forward 提前引用未经定义的说明error 61:Invalid typecast 无效的类型转换error 62:Division by zero 被零除error 63:Invalid file type 无效的文件类型error 64:Cannot read or write variables of this type 不能读写此类型变量error 65:Pointer variable expected 缺指针类型变量error 66:String variable expected 缺字符串变量error 67:String expression expected 缺字符串表达式error 68:Circular unit reference 单元UNIT部件循环引用error 69:Unit name mismatch 单元名不匹配error 70:Unit version mismatch 单元版本不匹配error 71:Internal stack overflow 内部堆栈溢出error 72:Unit file format error 单元文件格式错误error 73:IMPLEMENTATION expected 缺IMPLEMENTATION error 74:Constant and case types do not match 常量和CASE 类型不匹配error 75:Record or object variable expected 缺记录或对象变量error 76:Constant out of range 常量越界error 77:File variable expected 缺文件变量error 78:Pointer expression expected 缺指针表达式error 79:Integer or real expression expected 缺整型或实型表达式error 80:Label not within current block 标号不在当前块内error 81:Label already defined 标号已定义error 82:Undefined label in preceding statement part 在前面未定义标号error 83:Invalid @ argument 无效的@参数error 84:UNIT expected 缺UNITerror 85: ";" expected 缺“;”error 86:":" expected 缺“:”error 87:"," expected 缺“,”error 88:"(" expected 缺“(”error 89:")" expected 缺“)”error 90:"=" expected 缺“=”error 91:":=" expected 缺“:=”error 92:"[" or "(." Expected 缺“[”或“(.”error 93: "]" or ".)" expected 缺“]”或“.)”error 94:"." expected 缺“.”error 95: ".." expected 缺“..”error 96:Too many variables 变量太多error 97:Invalid FOR control variable 无效的FOR循环控制变量error 98:Integer variable expected 缺整型变量error 99:Files and procedure types are not allowed here 该处不允许文件和过程类型error 100:String length mismatch 字符串长度不匹配error 101:Invalid ordering of fields 无效域顺序error 102:String constant expected 缺字符串常量error 103:Integer or real variable expected 缺整型或实型变量error 104:Ordinal variable expected 缺有序类型变量error 105:INLINE error INLINE错误error 106:Character expression expected 缺字符表达式error 107:Too many relocation items 重定位项太多error 108:Overflow in arithmetic operation 算术运算溢出error 112:CASE constant out of range CASE常量越界error 113:Error in statement 表达式错误error 114:Cannot call an interrupt procedure 不能调用中断过程error 116:Must be in 8087 mode to compile this 必须在8087模式编译error 117:Target address not found 找不到目标地址error 118:Include files are not allowed here 该处不允许INCLUDE文件error 119:No inherited methods are accessible here 该处继承方法不可访问error 121:Invalid qualifier 无效的限定符error 122:Invalid variable reference 无效的变量引用error 123:Too many symbols 符号太多error 124:Statement part too large 语句体太长error 126:Files must be var parameters 文件必须是变量形参error 127:Too many conditional symbols 条件符号太多error 128:Misplaced conditional directive 条件指令错位error 129:ENDIF directive missing 缺ENDIF指令error 130:Error in initial conditional defines 初始条件定义错误error 131:Header does not match previous definition 和前面定义的过程或函数不匹配error 133:Cannot evaluate this expression 不能计算该表达式error 134:Expression incorrectly terminated 表达式错误结束error 135:Invalid format specifier 无效格式说明符error 136:Invalid indirect reference 无效的间接引用error 137:Structured variables are not allowed here 该处不允许结构变量error 138:Cannot evaluate without System unit 没有System 单元不能计算error 139:Cannot access this symbol 不能存取符号error 140:Invalid floating point operation 无效的符号运算error 141:Cannot compile overlays to memory 不能编译覆盖模块至内存error 142:Pointer or procedural variable expected 缺指针或过程变量error 143:Invalid procedure or function reference 无效的过程或函数调用error 144:Cannot overlay this unit 不能覆盖该单元error 146:File access denied 不允许文件访问error 147:Object type expected 缺对象类型error 148:Local object types are not allowed 不允许局部对象类型error 149:VIRTUAL expected 缺VIRTUALerror 150: Method identifier expected 缺方法标识符error 151:Virtual constructors are not allowed 不允许虚构造函数error 152:Constructor identifier expected 缺构造函数标识符error 153:Destructor identifier expected 缺析构函数标识符error 154:Fail only allowed within constructors 只能在构造函数内使用Fail标准过程error 155:Invalid combination of opcode and operands 操作数与操作符无效组合error 156:Memory reference expected 缺内存引用指针error 157:Cannot add or subtract relocatable symbols 不能加减可重定位符号error 158:Invalid register combination 无效寄存器组合error 159:286/287 instructions are not enabled 未激活286/287指令error 160:Invalid symbol reference 无效符号指针error 161:Code generation error 代码生成错误error 162:ASM expected 缺ASMerror 166:Procedure or function identifier expected 缺过程或函数标识符error 167:Cannot export this symbol 不能输出该符号error 168:Duplicate export name 外部文件名重复error 169:Executable file header too large 可执行文件头太长error 170:Too many segments 段太多一、运行错误信息运行错误分为四类:1-99为DOS错误;100-149为I/O错误,发生I/O后,如果使用了编译开关{$I+},程序将终止执行,否则编译开关为{$I-},程序继续执行,并由IOResult函数返回错误信息;150-199为严重错误,200-255为致命错误,致命错误将立即终止程序执行。
KEIL软件错误代码及错误信息

错误代码及错误信息错误释义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 类型不匹配error 27:error 27:Invalid subrange base type 无效的子界基类型error 28:Lower bound greater than upper bound 下界超过上界error 29:Ordinal type expected 缺有序类型error 30:Integer constant expected 缺整型常量error 31:Constant expected 缺常量error 32:Integer or real constant expected 缺整型或实型常量error 33:Pointer Type identifier expected 缺指针类型标识符error 34:Invalid function result type 无效的函数结果类型error 35:Label identifier expected 缺标号标识符error 36:BEGIN expected 缺BEGINerror 37:END expected 缺ENDerror 38:Integer expression expected 缺整型表达式error 39:Ordinal expression expected 缺有序类型表达式error 40:Boolean expression expected 缺布尔表达式error 41:Operand types do not match 操作数类型不匹配error 42:Error in expression 表达式错误error 43:Illegal assignment 非法赋值error 44:Field identifier expected 缺域标识符error 45:Object file too large 目标文件太大error 46:Undefined external 未定义的外部过程与函数error 47:Invalid object file record 无效的OBJ文件格式error 48:Code segment too large 代码段太长error 49:Data segment too large 数据段太长error 50:DO expected 缺DOerror 51:Invalid PUBLIC definition 无效的PUBLIC定义error 52:Invalid EXTRN definition 无效的EXTRN定义error 53: Too many EXTRN definitions 太多的EXTRN定义error 54:OF expected 缺OFerror 55:INTERFACE expected 缺INTERFACEerror 56:Invalid relocatable reference 无效的可重定位引用error 57:THEN expected 缺THENerror 58:TO or DOWNTO expected 缺TO或DOWNTO error 59:Undefined forward 提前引用未经定义的说明error 61:Invalid typecast 无效的类型转换error 62:Division by zero 被零除error 63:Invalid file type 无效的文件类型error 64:Cannot read or write variables of this type 不能读写此类型变量error 65:Pointer variable expected 缺指针类型变量error 66:String variable expected 缺字符串变量error 67:String expression expected 缺字符串表达式error 68:Circular unit reference 单元UNIT部件循环引用error 69:Unit name mismatch 单元名不匹配error 70:Unit version mismatch 单元版本不匹配error 71:Internal stack overflow 内部堆栈溢出error 72:Unit file format error 单元文件格式错误error 73:IMPLEMENTATION expected 缺IMPLEMENTATION error 74:Constant and case types do not match 常量和CASE 类型不匹配error 75:Record or object variable expected 缺记录或对象变量error 76:Constant out of range 常量越界error 77:File variable expected 缺文件变量error 78:Pointer expression expected 缺指针表达式error 79:Integer or real expression expected 缺整型或实型表达式error 80:Label not within current block 标号不在当前块内error 81:Label already defined 标号已定义error 82:Undefined label in preceding statement part 在前面未定义标号error 83:Invalid @ argument 无效的@参数error 84:UNIT expected 缺UNITerror 85: ";" expected 缺“;”error 86: ":" expected 缺“:”error 87: "," expected 缺“,”error 88: "(" expected 缺“(”error 89: ")" expected 缺“)”error 90: "=" expected 缺“=”error 91: ":=" expected 缺“:=”error 92: "[" or "(." Expected 缺“[”或“(.”error 93: "]" or ".)" expected 缺“]”或“.)”error 94: "." expected 缺“.”error 95: ".." expected 缺“..”error 96:Too many variables 变量太多error 97:Invalid FOR control variable 无效的FOR循环控制变量error 98:Integer variable expected 缺整型变量error 99:Files and procedure types are not allowed here 该处不允许文件和过程类型error 100:String length mismatch 字符串长度不匹配error 101:Invalid ordering of fields 无效域顺序error 102:String constant expected 缺字符串常量error 103:Integer or real variable expected 缺整型或实型变量error 104:Ordinal variable expected 缺有序类型变量error 105:INLINE error INLINE错误error 106:Character expression expected 缺字符表达式error 107:Too many relocation items 重定位项太多error 108:Overflow in arithmetic operation 算术运算溢出error 112:CASE constant out of range CASE常量越界error 113:Error in statement 表达式错误error 114:Cannot call an interrupt procedure 不能调用中断过程error 116:Must be in 8087 mode to compile this 必须在8087模式编译error 117:Target address not found 找不到目标地址error 118:Include files are not allowed here 该处不允许INCLUDE文件error 119:No inherited methods are accessible here 该处继承方法不可访问error 121:Invalid qualifier 无效的限定符error 122:Invalid variable reference 无效的变量引用error 123:Too many symbols 符号太多error 124:Statement part too large 语句体太长error 126:Files must be var parameters 文件必须是变量形参error 127:Too many conditional symbols 条件符号太多error 128:Misplaced conditional directive 条件指令错位error 129:ENDIF directive missing 缺ENDIF指令error 130:Error in initial conditional defines 初始条件定义错误error 131:Header does not match previous definition 和前面定义的过程或函数不匹配error 133:Cannot evaluate this expression 不能计算该表达式error 134:Expression incorrectly terminated 表达式错误结束error 135:Invalid format specifier 无效格式说明符error 136:Invalid indirect reference 无效的间接引用error 137:Structured variables are not allowed here 该处不允许结构变量error 138:Cannot evaluate without System unit 没有System 单元不能计算error 139:Cannot access this symbol 不能存取符号error 140:Invalid floating point operation 无效的符号运算error 141:Cannot compile overlays to memory 不能编译覆盖模块至内存error 142:Pointer or procedural variable expected 缺指针或过程变量error 143:Invalid procedure or function reference 无效的过程或函数调用error 144:Cannot overlay this unit 不能覆盖该单元error 146:File access denied 不允许文件访问error 147:Object type expected 缺对象类型error 148:Local object types are not allowed 不允许局部对象类型error 149:VIRTUAL expected 缺VIRTUALerror 150: Method identifier expected 缺方法标识符error 151:Virtual constructors are not allowed 不允许虚构造函数error 152:Constructor identifier expected 缺构造函数标识符error 153:Destructor identifier expected 缺析构函数标识符error 154:Fail only allowed within constructors 只能在构造函数内使用Fail标准过程error 155:Invalid combination of opcode and operands 操作数与操作符无效组合error 156:Memory reference expected 缺内存引用指针error 157:Cannot add or subtract relocatable symbols 不能加减可重定位符号error 158:Invalid register combination 无效寄存器组合error 159:286/287 instructions are not enabled 未激活286/287指令error 160:Invalid symbol reference 无效符号指针error 161:Code generation error 代码生成错误error 162:ASM expected 缺ASMerror 166:Procedure or function identifier expected 缺过程或函数标识符error 167:Cannot export this symbol 不能输出该符号error 168:Duplicate export name 外部文件名重复error 169:Executable file header too large 可执行文件头太长error 170:Too many segments 段太多一、运行错误信息运行错误分为四类:1-99为DOS错误;100-149为I/O错误,发生I/O后,如果使用了编译开关{$I+},程序将终止执行,否则编译开关为{$I-},程序继续执行,并由IOResult函数返回错误信息; 150-199为严重错误,200-255为致命错误,致命错误将立即终止程序执行。
keil软件错误总结

KEIL编译错误信息表错误代码及错误信息错误释义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 类型不匹配error 27:error 27:Invalid subrange base type 无效的子界基类型error 28:Lower bound greater than upper bound 下界超过上界error 29:Ordinal type expected 缺有序类型error 30:Integer constant expected 缺整型常量error 31:Constant expected 缺常量error 32:Integer or real constant expected 缺整型或实型常量error 33:Pointer Type identifier expected 缺指针类型标识符error 34:Invalid function result type 无效的函数结果类型error 35:Label identifier expected 缺标号标识符error 36:BEGIN expected 缺BEGINerror 37:END expected 缺ENDerror 38:Integer expression expected 缺整型表达式error 39:Ordinal expression expected 缺有序类型表达式error 40:Boolean expression expected 缺布尔表达式error 41:Operand types do not match 操作数类型不匹配error 42:Error in expression 表达式错误error 43:Illegal assignment 非法赋值error 44:Field identifier expected 缺域标识符error 45:Object file too large 目标文件太大error 46:Undefined external 未定义的外部过程与函数error 47:Invalid object file record 无效的OBJ文件格式error 48:Code segment too large 代码段太长error 49:Data segment too large 数据段太长error 50:DO expected 缺DOerror 51:Invalid PUBLIC definition 无效的PUBLIC定义error 52:Invalid EXTRN definition 无效的EXTRN定义error 53: Too many EXTRN definitions 太多的EXTRN定义error 54:OF expected 缺OFerror 55:INTERFACE expected 缺INTERFACEerror 56:Invalid relocatable reference 无效的可重定位引用error 57:THEN expected 缺THENerror 58:TO or DOWNTO expected 缺TO或DOWNTOerror 59:Undefined forward 提前引用未经定义的说明error 61:Invalid typecast 无效的类型转换error 62:Division by zero 被零除error 63:Invalid file type 无效的文件类型error 64:Cannot read or write variables of this type 不能读写此类型变量error 65:Pointer variable expected 缺指针类型变量error 66:String variable expected 缺字符串变量error 67:String expression expected 缺字符串表达式error 68:Circular unit reference 单元UNIT部件循环引用error 69:Unit name mismatch 单元名不匹配error 70:Unit version mismatch 单元版本不匹配error 71:Internal stack overflow 内部堆栈溢出error 72:Unit file format error 单元文件格式错误error 73:IMPLEMENTATION expected 缺IMPLEMENTATION error 74:Constant and case types do not match 常量和CASE 类型不匹配error 75:Record or object variable expected 缺记录或对象变量error 76:Constant out of range 常量越界error 77:File variable expected 缺文件变量error 78:Pointer expression expected 缺指针表达式error 79:Integer or real expression expected 缺整型或实型表达式error 80:Label not within current block 标号不在当前块内error 81:Label already defined 标号已定义error 82:Undefined label in preceding statement part 在前面未定义标号error 83:Invalid @ argument 无效的@参数error 84:UNIT expected 缺UNITerror 85: ";" expected 缺‚;‛error 86: ":" expected 缺‚:‛error 87: "," expected 缺‚,‛error 88: "(" expected 缺‚(‛error 89: ")" expected 缺‚)‛error 90: "=" expected 缺‚=‛error 91: ":=" expected 缺‚:=‛error 92: "[" or "(." Expected 缺‚[‛或‚(.‛error 93: "]" or ".)" expected 缺‚]‛或‚.)‛error 94: "." expected 缺‚.‛error 95: ".." expected 缺‚..‛error 96:Too many variables 变量太多error 97:Invalid FOR control variable 无效的FOR循环控制变量error 98:Integer variable expected 缺整型变量error 99:Files and procedure types are not allowed here 该处不允许文件和过程类型error 100:String length mismatch 字符串长度不匹配error 101:Invalid ordering of fields 无效域顺序error 102:String constant expected 缺字符串常量error 103:Integer or real variable expected 缺整型或实型变量error 104:Ordinal variable expected 缺有序类型变量error 105:INLINE error INLINE错误error 106:Character expression expected 缺字符表达式error 107:Too many relocation items 重定位项太多error 108:Overflow in arithmetic operation 算术运算溢出error 112:CASE constant out of range CASE常量越界error 113:Error in statement 表达式错误error 114:Cannot call an interrupt procedure 不能调用中断过程error 116:Must be in 8087 mode to compile this 必须在8087模式编译error 117:Target address not found 找不到目标地址error 118:Include files are not allowed here 该处不允许INCLUDE文件error 119:No inherited methods are accessible here 该处继承方法不可访问error 121:Invalid qualifier 无效的限定符error 122:Invalid variable reference 无效的变量引用error 123:Too many symbols 符号太多error 124:Statement part too large 语句体太长error 126:Files must be var parameters 文件必须是变量形参error 127:Too many conditional symbols 条件符号太多error 128:Misplaced conditional directive 条件指令错位error 129:ENDIF directive missing 缺ENDIF指令error 130:Error in initial conditional defines 初始条件定义错误error 131:Header does not match previous definition 和前面定义的过程或函数不匹配error 133:Cannot evaluate this expression 不能计算该表达式error 134:Expression incorrectly terminated 表达式错误结束error 135:Invalid format specifier 无效格式说明符error 136:Invalid indirect reference 无效的间接引用error 137:Structured variables are not allowed here 该处不允许结构变量error 138:Cannot evaluate without System unit 没有System 单元不能计算error 139:Cannot access this symbol 不能存取符号error 140:Invalid floating point operation 无效的符号运算error 141:Cannot compile overlays to memory 不能编译覆盖模块至内存error 142:Pointer or procedural variable expected 缺指针或过程变量error 143:Invalid procedure or function reference 无效的过程或函数调用error 144:Cannot overlay this unit 不能覆盖该单元error 146:File access denied 不允许文件访问error 147:Object type expected 缺对象类型error 148:Local object types are not allowed 不允许局部对象类型error 149:VIRTUAL expected 缺VIRTUALerror 150: Method identifier expected 缺方法标识符error 151:Virtual constructors are not allowed 不允许虚构造函数error 152:Constructor identifier expected 缺构造函数标识符error 153:Destructor identifier expected 缺析构函数标识符error 154:Fail only allowed within constructors 只能在构造函数内使用Fail标准过程error 155:Invalid combination of opcode and operands 操作数与操作符无效组合error 156:Memory reference expected 缺内存引用指针error 157:Cannot add or subtract relocatable symbols 不能加减可重定位符号error 158:Invalid register combination 无效寄存器组合error 159:286/287 instructions are not enabled 未激活286/287指令error 160:Invalid symbol reference 无效符号指针error 161:Code generation error 代码生成错误error 162:ASM expected 缺ASMerror 166:Procedure or function identifier expected 缺过程或函数标识符error 167:Cannot export this symbol 不能输出该符号error 168:Duplicate export name 外部文件名重复error 169:Executable file header too large 可执行文件头太长error 170:Too many segments 段太多一、运行错误信息运行错误分为四类:1-99为DOS错误;100-149为I/O错误,发生I/O后,如果使用了编译开关{$I+},程序将终止执行,否则编译开关为{$I-},程序继续执行,并由IOResult函数返回错误信息; 150-199为严重错误,200-255为致命错误,致命错误将立即终止程序执行。
keil编译常见报错和解决方法

keil编译常见报错和解决方法Keil是一款常用的嵌入式开发工具,用于编写和调试嵌入式系统的程序。
在使用Keil编译时,我们常常会遇到一些报错信息。
本文将介绍一些常见的Keil编译报错及解决方法,帮助读者快速解决问题。
1. "Error: L6218E: Undefined symbol"错误这个错误通常是由于使用了未定义的变量或函数导致的。
解决方法是检查代码中使用的符号是否正确定义或是否包含了正确的头文件。
如果符号确实未定义,需要在代码中进行定义或者引入相关的头文件。
2. "Error: L6002U: Could not open file"错误这个错误表示编译器无法打开指定的文件。
解决方法是检查文件路径是否正确,文件是否存在,并且是否具有读取权限。
如果文件路径正确但是依然无法打开,可能是文件被其他程序占用或者权限设置不正确,需要解决这些问题后重新编译。
3. "Error: C2513: 'function' : no variable declared before '=' "错误这个错误表示在赋值语句中使用了未声明的变量。
解决方法是检查变量是否正确声明,并确保在赋值之前进行了声明。
如果变量确实未声明,需要在代码中添加相应的变量声明。
4. "Error: C2065: 'variable' : undeclared identifier"错误这个错误表示使用了未声明的变量。
解决方法是检查变量是否正确声明,并确保在使用之前进行了声明。
如果变量确实未声明,需要在代码中添加相应的变量声明。
5. "Error: C1083: Cannot open include file: 'header.h': No such file or directory"错误这个错误表示编译器无法找到指定的头文件。
Keil uV4编译错误信息表

Invalid PUBLIC definition Invalid EXTRN definition Too many EXTRN definitions OF expected INTERFACE expected Invalid relocatable reference THEN expected TO or DOWNTO expected Undefined forward Invalid typecast Division by zero Invalid file type Cannot read or write variables of this type Pointer variable expected String variable expected String expression expected Circular unit reference Unit name mismatch Unit version mismatch Internal stack overflow Unit file format error IMPLEMENTATION expected Constant and case types do not match Record or object variable expected Constant out of range File variable expected Pointer expression expected Integer or real expression expected Label not within current block Label already defined Undefined label in preceding statement part Invalid @ argument UNIT expected ";" expected ":" expected "," expected "(" expected ")" expected "=" expected ":=" expected "[" or "(." Expected "]" or ".)" expected "." expected ".." expected Too many variables Invalid FOR control variable Integer variable expected Files and procedure types are not allowed here String length mismatch Invalid ordering of fields String constant expected Integer or real variable expected
KEIL软件错误代码及错误信息

一、运行错误信息运行错误分为四类:1-99为DOS错误;100-149为I/O错误,发生I/O后,如果使用了编译开关{$I+},程序将终止执行,否则编译开关为{$I-},程序继续执行,并由IOResult函数返回错误信息;150-199为严重错误,200-255为致命错误,致命错误将立即终止程序执行。
错误代码及错误信息错误释义error 1:Invalid function number 无效函数号error 2:File not found 文件未找到error 3:Path not found 找不到路径error 4:Too many open files 打开文件太多error 5:File access denied 文件不允许访问error 6:Invalid file handle 无效文件句柄error 12:Invalid file access code 无效文件存取代码error 15:Invalid drive number 无效驱动器号error 16:Cannot remove current directory 不能删除当前目录error 17:Cannot rename across drives 不能跨驱动器改名error 18:No more files 没有文件了error 100:Disk read error 读磁盘错error 101:Disk write error 写磁盘错error 102:File not assigned 文件变量未赋值error 103:File not open 文件未打开error 104:File not open for input 文件未打开为写方式error 105:File not open for output 文件未打开为读方式error 106:Invalid numeric format 无效数值格式error 150:Disk is write-protected 磁盘写保护error 151:Bad drive request struct length 错误的驱动器请求结构长度error 152:Drive not ready 驱动器未准备好error 154:CRC error in data 数据CRC校验错error 156:Disk seek error 磁盘定位错error 157:Unknown media type 未知的介质类型error 158:Sector Not Found 找不到扇区error 159:Printer out of paper 打印机缺纸error 160:Device write fault 设备写错误error 161:Device read fault 设备读错误error 162:Hardware failure 硬件故障error 200:Division by zero 被零除error 201:Range check error 范围检查出错error 202:Stack overflow error 栈溢出error 203:Heap overflow error 堆溢出error 204:Invalid pointer operation 无效的指针操作error 205:Floating point overflow 浮点运算上溢error 206:Floating point underflow 浮点运算下溢error 207:Invalid floating point operation 无效的浮点运算error 208:Overlay manager not installed 未安装覆盖管理程序error 209:Overlay file read error 读覆盖文件错误error 210:Object not initialized 对象未初始化error 211:Call to abstract method 调用抽象方法error 212:Stream registration error 流注_册错误error 213:Collection index out of range 集合下标越界error 214:Collection overflow error 集合上溢error 215:Arithmetic overflow error 算术运算上溢error 216:General Protection fault 一般保护性错误keil c编译器错误与解决方法1. Warning 280:’i’:unreferenced local variable说明局部变量i 在函数中未作任何的存取操作解决方法消除函数中i 变量的宣告2 Warning 206:’Music3’:missing function-prototype说明Music3( )函数未作宣告或未作外部宣告所以无法给其他函数调用解决方法将叙述void Music3(void)写在程序的最前端作宣告如果是其他文件的函数则要写成extern void Music3(void),即作外部宣告3 Compling :C:\8051\Error:318:can’t open file ‘’说明在编译C:\8051\ 程序过程中由于用了指令#i nclude “”,但却找不到所致解决方法编写一个的包含档并存入到c:\8051 的工作目录中4 Compling:C:\8051\Error 237:’LedOn’:function already has a body说明LedOn( )函数名称重复定义即有两个以上一样的函数名称解决方法修正其中的一个函数名称使得函数名称都是独立的5 ***WARNING 16:UNCALLED SEGMENT,IGNORED FOR OVERL AY PROCESSSEGMENT: PR_DELAYX1MSDELAY说明DelayX1ms( )函数未被其它函数调用也会占用程序记忆体空间解决方法去掉DelayX1ms( )函数或利用条件编译#if …..#endif,可保留该函数并不编译6 ***WARNING 6 :XDATA SPACE MEMORY OVERLAP FROM : 0025HTO: 0025H说明外部资料ROM 的0025H 重复定义地址解决方法外部资料ROM 的定义如下Pdata unsigned char XFR_ADC _at_0x25 其中XFR_ADC 变量的名称为0x25,请检查是否有其它的变量名称也是定义在0x25 处并修正它7 WARNING 206:’DelayX1ms’:missing function-proto typeC:\8051\Error 267 :’DelayX1ms‘:requires ANSI-style prot otype C:\8051\说明程序中有调用DelayX1ms 函数但该函数没定义即未编写程序内容或函数已定义但未作宣告解决方法编写DelayX1ms 的内容编写完后也要作宣告或作外部宣告可在的包含档宣告成外部以便其它函数调用8 ***WARNING 1:UNRESOLVED EXTERNAL SYMBOL SYMBOL:MUSIC3MODULE:C:\8051\(MUSIC)***WARNING 2:REFERENCE MADE TO UNRESOLVED EXTERNALSYMBOL:MUSIC3MODULE:C:\8051\(MUSIC)ADDRESS:0018H说明程序中有调用MUSIC 函数但未将该函数的含扩档C 加入到工程档Prj 作编译和连接解决方法设MUSIC3 函数在MUSIC C 里将MUSIC C 添加到工程文件中去9 ***ERROR 107:ADDESS SPACE OVERFLOWSPACE: DATASEGMENT: _DATA_GOUP_LENGTH: 0018H***ERROR 118: REFERENCE MADE TO ERRONEOUS EXTERNA LSYMBOL: VOLUMEMODULE: C:\8051\ (OSDM)ADDRESS: 4036H说明data 存储空间的地址范围为0~0x7f,当公用变量数目和函数里的局部变量如果存储模式设为SMALL 则局部变量先使用工作寄存器R2~R7 作暂存当存储器不够用时则会以data 型别的空间作暂存的个数超过0x7f 时就会出现地址不够的现象解决方法将以data 型别定义的公共变量修改为idata 型别的定义10.***WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: PR_WRITE_GMVLX1_REGD_GMVLX1CALLER1: PRVSYNC_INTERRUPTMAINCALLER2: C_C51STARTUP***WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: PR_SPI_SEND_WORDD_SPICALLER1: PRVSYNC_INTERRUPTMAINCALLER2: C_C51STARTUP***WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: PRSPI_RECEIVE_WORDD_SPICALLER1: PRVSYNC_INTERRUPTMAINCALLER2: C_C51STARTUP该警告表示连接器发现有一个函数可能会被主函数和一个中断服务程序(或者调用中断服务程序的函数)同时调用,或者同时被多个中断服务程序调用。
Keil 编译器错误大全

*ERROR 121:missing ‘)’after actual parameter
宏调用实参表的右括号丢失
*ERROR 122:illegal macro invocation
宏调用的实参表与宏定义中的形参表不同
*ERROR 123:missing macro name after ‘define’
位变量的定义可包含修饰符DATA,如果无修饰符则假定为DATA。因为位变量始终位于
0x4xxx 的内部数据存储器中,当试图采用其他存储空间就会产生这个错误。
*ERROR 141:NEAR<token>:expected<token>
编译器所见的单词是错误的。期望正确的单词
*ERROR 142:invalid base address
C51编译器识别错类型有三种
1、致命错误:伪指令控制行有错,访问不存在的原文件或头文件等。
2、语法及语义错误:语法和语义错误都发生在原文件中。有这类错误时,给出
提示但不产生目标文件,错误超过一定数量才终止编译。
3、警告:警告出现并不影响目标文件的产生,但执行时有可能发生问题。程序
员应斟酌处理。
预处理器指令期望一个串变量。
*ERROR 109:<user error text>
由#error 伪指令引入的错误信息以错误信号形式显示。
*ERROR 110:missing directive
预处理行#后缺少伪指令。
*ERROR 111:unknown directive
预处理行#后不是伪指令。
*ERROR 132:not in formal parameter list
KEIL软件错误代码及错误信息

错误代码及错误信息错误释义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 comp orients may not be files or objectsfile 分量不能是文件或对象error 25: Invalid string length 无效的字符串长度error 26: Type mismatch 类型不匹配error 27 : error 27 : In valid subra nge base type 无效的子界基类型error 28 : Lower bound greater than upper bound 下界超过上界error 29 : Ordinal type expected 缺有序类型error 30 : Integer constant expected 缺整型常量error 31 : Constant expected 缺常量error 32 : Integer or real constant expected 缺整型或实型常量error 33 : Pointer Type identifier expected 缺指针类型标识符error 34 : Invalid function result type 无效的函数结果类型error 35 : Label identifier expected 缺标号标识符error 36 : BEGIN expected 缺BEGINerror 37 : END expected 缺ENDerror 38 : Integer expression expected 缺整型表达式error 39 : Ordinal expression expected 缺有序类型表达式error 40 : Boolean expression expected 缺布尔表达式error 41 : Opera nd types do not match 操作数类型不匹配error 42 : Error in expression 表达式错误error 43 : Illegal assignment 非法赋值error 44 : Field ident谄er expected 缺域标识符error 45 : Object file too large 目标文件太大error 46 : Undefined external未定义的外部过程与函数error 47 : Invalid object file record 无效的OBJ 文件格式error 48 : Code segment too large 代石马段太长error 49 : Data segment too large 数据段太长error 50 : DO expected 缺DOerror 51 : Invalid PUBLIC definition 无效的PUBLIC 定义error 52 : Invalid EXTRN definition 无效的EXTRN 定义error 53: Too many EXTRN definitions 太多的EXTRN 定义error54 : OF expected 缺OFerror 55 : INTERFACE expected 缺INTERFACEerror 56 : Invalid relocatable reference 无效的可重定位引用error 57 : THEN expected 缺THENerror 58 : TO or DOWNTO expected 缺TO 或DOWNTOerror 59 : Undefined forward提前引用未经定义的说明error 61 : Invalid typecast 无效的类型转换error 62 : Division by zero 被寒除error 63 : Invalid file type 无效的文件类型error 64 :Cannot read or write variables of this type 不能读写此类型变量error 65 : Pointer variable expected 缺指针类型变量error 66 : String variable expected 缺字符串变量error 67 : String expression expected 缺字符串表达式error 68 : Circular unit reference 单元UNIT 部件循环引用error 69 : Unit name mismatch 单元名不匹配error 70 : Unit version mismatch 单元版本不匹配error 71 : Internal stack overflow 内部堆栈溢出error 72 : Unit file format error 单元文件格式错误error 73 : IMPLEMENTATION expected 缺IMPLEMENTATIONerror 74 : Constant and case types do not match 常量和CASE 类型不匹配error 75 : Record or object variable expected 缺1 己录或对象变量error 76 : Constant out of range 常量越界error 77 : File variable expected 缺文件变量error 78 : Pointer expression expected 缺指针表达式error 79 : Integer or real express!on expected 缺整型或实型表达式error 80 : Label not within current block 标号不在当前块内error 81 : Label already defined 标号已定义error 82 :Un defined label in precedi ng stateme nt part 在前面未定义标号error 83 : Invalid @ argument 无效的@参数error 84 : UNIT expected 缺UNITerror 85: ”;” expected 缺“;”error 86 : “:” expected 缺“:”error 87 : expected 缺“error 88 : "C expected 缺“(”error 89 :")” expected 缺“)"error 90 : ”二” expected 缺“="error 91 :“:二” expected 缺error 92 : "[" or "(•" Expected 缺“[”或“(・”error 93: "]" or "・)” expected 缺“〕”或"・)”error 94 : expected 缺error 95:"・・" expected 缺error 96 : Too many variables 变量太多error 97 : Invalid FOR control variable 无效的FOR 循环控制变量error 98 : Integer variable expected 缺整型变量error 99 :Files and procedure types are not allowed here 该处不允许文件和过程类型error 100 : String length mismatch 字符串长度不匹配error 101 : Invalid ordering of fields 无效域顺序error 102 : String constant expected 缺字符串常量error 103 : Integer or real variable expected 缺整型或实型变量error 104 : Ordinal variable expected 缺有序类型变量error 105 : INLINE error INLINE 错误error 106 : Character expression expected 缺字符表达式error 107 : Too many relocation items 重定位项太多error 108 : Overflow in arithmetic operation 算术运算溢出error 112 : CASE constant out of range CASE 常量越界error 113 : Error in statement 表达式错误error 114 :Cannot call an interrupt procedure 不能调用中斷过程error 116 : Must be in 8087 mode to compile this 必须在8087 模式编译error 117 : Target address not found 找不至U 目标地址error 118 : In elude files are not allowed here 该处不允许INCLUDE 文件error 119 :No inherited methods are accessible here 该处继承方法不可访问error 121 : Invalid qualifier 无效的限定符error 122 : Invalid variable reference 无效的变量引用error 123 : Too many symbols 符号太多error 124 : Statement part too large 语句体太长error 126 : Files must be var parameters 文件必须是变量形参error 127 : Too many conditional symbols 条件符号太多error 128 : Misplaced conditional directive 条件指令错位error 129 : ENDIF directive missing 缺ENDIF 指令error 130 : Error in initial conditional defines 初始条件定义错误error 131 : Header does not match previous definition 和前面定义的过程或函数不匹配error 133 :Cannot evaluate this expression 不能计算该表达式error 134 : Expressi on in correctly terminated 表达式错误结束error 135 : Invalid format specifier 无效格式说明符error 136 : Invalid indirect reference 无效的间接引用error 137 Structured variables are not allowed here 该处不允许结构变量error 138 : Cannot evaluate without System unit 没有System单元不能计算error 139 : Cannot access this symbol 不能存取符号error 140 : Invalid floating point operation 无效的符号运算error 141 : Cannot compile overlays to memory 不能编译覆盖模块至内存error 142 : Pointer or procedural variable expected 缺扌旨卒十或过程变量error 143 :lnvalid procedure or function reference 无效的过程或函数调用error 144 : Cannot overlay this unit 不能覆盖该单元error 146 : File access denied 不允许文件访问error 147 : Object type expected 缺对象类型error 148 :Local object types are not allowed 不允许局咅卩对象类型error 149 : VIRTUAL expected 缺VIRTUALerror 150: Method identifier expected 缺方法标识符error 151 : Virtual constructors are not allowed 不允许虚构造函数error 152 : Constructor identifier expected 缺构造函数标识符error 153 : Destructor identifier expected 缺析构函数标识符error 154 :Fail only allowed within constructors 只能在构造函数内使用Fail标准过程error 155 : Invalid combi nation of opcode and opera nds 操作数与操作符无效组合error 156 : Memory referenee expected 缺内存引用扌旨纟十error 157 :Cannot add or subtract relocatable symbols 不能力口减可重定位符号error 158 : Invalid register combination 无效寄存器组合error 159 : 286/287 instructions are not enabled 未激活286/287 指令error 160 : Invalid symbol reference 无效符号指针error 161 : Code generation error 代码生成错误error 162 : ASM expected 缺ASMerror 166 :Procedure or function identifier expected 缺过程或函数标识符error 167 : Cannot export this symbol 不能输出该符号error 168 : Duplicate export name 外部文件名重复error 169 : Executable file header too large 可执行文件头太长error 170 : Too many segments 段太多一、运行错误信息运行错误分为四类:1-99为DOS错误;100-149为I/O错误,发生I/O后,如果使用了编译开关{$1+},程序将终止执行,否则编译开关为{$卜},程序继续执行,并由lOResult函数返回错误信息;150-199为严重错误,200-255为致命错误,致命错误将立即终止程序执行。
KEIL软件错误代码及错误信息

错误代码及错误信息错误释义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 类型不匹配error 27:error 27:Invalid subrange base type 无效的子界基类型error 28:Lower bound greater than upper bound 下界超过上界error 29:Ordinal type expected 缺有序类型error 30:Integer constant expected 缺整型常量error 31:Constant expected 缺常量error 32:Integer or real constant expected 缺整型或实型常量error 33:Pointer Type identifier expected 缺指针类型标识符error 34:Invalid function result type 无效的函数结果类型error 35:Label identifier expected 缺标号标识符error 36:BEGIN expected 缺BEGINerror 37:END expected 缺ENDerror 38:Integer expression expected 缺整型表达式error 39:Ordinal expression expected 缺有序类型表达式error 40:Boolean expression expected 缺布尔表达式error 41:Operand types do not match 操作数类型不匹配error 42:Error in expression 表达式错误error 43:Illegal assignment 非法赋值error 44:Field identifier expected 缺域标识符error 45:Object file too large 目标文件太大error 46:Undefined external 未定义的外部过程与函数error 47:Invalid object file record 无效的OBJ文件格式error 48:Code segment too large 代码段太长error 49:Data segment too large 数据段太长error 50:DO expected 缺DOerror 51:Invalid PUBLIC definition 无效的PUBLIC定义error 52:Invalid EXTRN definition 无效的EXTRN定义error 53: Too many EXTRN definitions 太多的EXTRN 定义error 54:OF expected 缺OFerror 55:INTERFACE expected 缺INTERFACEerror 56:Invalid relocatable reference 无效的可重定位引用error 57:THEN expected 缺THENerror 58:TO or DOWNTO expected 缺TO或DOWNTO error 59:Undefined forward 提前引用未经定义的说明error 61:Invalid typecast 无效的类型转换error 62:Division by zero 被零除error 63:Invalid file type 无效的文件类型error 64:Cannot read or write variables of this type 不能读写此类型变量error 65:Pointer variable expected 缺指针类型变量error 66:String variable expected 缺字符串变量error 67:String expression expected 缺字符串表达式error 68:Circular unit reference 单元UNIT部件循环引用error 69:Unit name mismatch 单元名不匹配error 70:Unit version mismatch 单元版本不匹配error 71:Internal stack overflow 内部堆栈溢出error 72:Unit file format error 单元文件格式错误error 73:IMPLEMENTATION expected 缺IMPLEMENTATION error 74:Constant and case types do not match 常量和CASE 类型不匹配error 75:Record or object variable expected 缺记录或对象变量error 76:Constant out of range 常量越界error 77:File variable expected 缺文件变量error 78:Pointer expression expected 缺指针表达式error 79:Integer or real expression expected 缺整型或实型表达式error 80:Label not within current block 标号不在当前块内error 81:Label already defined 标号已定义error 82:Undefined label in preceding statement part 在前面未定义标号error 83:Invalid @ argument 无效的@参数error 84:UNIT expected 缺UNITerror 85: ";" expected 缺“;”error 86:":" expected 缺“:”error 87:"," expected 缺“,”error 88:"(" expected 缺“(”error 89:")" expected 缺“)”error 90:"=" expected 缺“=”error 91:":=" expected 缺“:=”error 92:"[" or "(." Expected 缺“[”或“(.”error 93: "]" or ".)" expected 缺“]”或“.)”error 94:"." expected 缺“.”error 95: ".." expected 缺“..”error 96:Too many variables 变量太多error 97:Invalid FOR control variable 无效的FOR循环控制变量error 98:Integer variable expected 缺整型变量error 99:Files and procedure types are not allowed here 该处不允许文件和过程类型error 100:String length mismatch 字符串长度不匹配error 101:Invalid ordering of fields 无效域顺序error 102:String constant expected 缺字符串常量error 103:Integer or real variable expected 缺整型或实型变量error 104:Ordinal variable expected 缺有序类型变量error 105:INLINE error INLINE错误error 106:Character expression expected 缺字符表达式error 107:Too many relocation items 重定位项太多error 108:Overflow in arithmetic operation 算术运算溢出error 112:CASE constant out of range CASE常量越界error 113:Error in statement 表达式错误error 114:Cannot call an interrupt procedure 不能调用中断过程error 116:Must be in 8087 mode to compile this 必须在8087模式编译error 117:Target address not found 找不到目标地址error 118:Include files are not allowed here 该处不允许INCLUDE文件error 119:No inherited methods are accessible here 该处继承方法不可访问error 121:Invalid qualifier 无效的限定符error 122:Invalid variable reference 无效的变量引用error 123:Too many symbols 符号太多error 124:Statement part too large 语句体太长error 126:Files must be var parameters 文件必须是变量形参error 127:Too many conditional symbols 条件符号太多error 128:Misplaced conditional directive 条件指令错位error 129:ENDIF directive missing 缺ENDIF指令error 130:Error in initial conditional defines 初始条件定义错误error 131:Header does not match previous definition 和前面定义的过程或函数不匹配error 133:Cannot evaluate this expression 不能计算该表达式error 134:Expression incorrectly terminated 表达式错误结束error 135:Invalid format specifier 无效格式说明符error 136:Invalid indirect reference 无效的间接引用error 137:Structured variables are not allowed here 该处不允许结构变量error 138:Cannot evaluate without System unit 没有System单元不能计算error 139:Cannot access this symbol 不能存取符号error 140:Invalid floating point operation 无效的符号运算error 141:Cannot compile overlays to memory 不能编译覆盖模块至内存error 142:Pointer or procedural variable expected 缺指针或过程变量error 143:Invalid procedure or function reference 无效的过程或函数调用error 144:Cannot overlay this unit 不能覆盖该单元error 146:File access denied 不允许文件访问error 147:Object type expected 缺对象类型error 148:Local object types are not allowed 不允许局部对象类型error 149:VIRTUAL expected 缺VIRTUALerror 150: Method identifier expected 缺方法标识符error 151:Virtual constructors are not allowed 不允许虚构造函数error 152:Constructor identifier expected 缺构造函数标识符error 153:Destructor identifier expected 缺析构函数标识符error 154:Fail only allowed within constructors 只能在构造函数内使用Fail标准过程error 155:Invalid combination of opcode and operands 操作数与操作符无效组合error 156:Memory reference expected 缺内存引用指针error 157:Cannot add or subtract relocatable symbols 不能加减可重定位符号error 158:Invalid register combination 无效寄存器组合error 159:286/287 instructions are not enabled 未激活286/287指令error 160:Invalid symbol reference 无效符号指针error 161:Code generation error 代码生成错误error 162:ASM expected 缺ASMerror 166:Procedure or function identifier expected 缺过程或函数标识符error 167:Cannot export this symbol 不能输出该符号error 168:Duplicate export name 外部文件名重复error 169:Executable file header too large 可执行文件头太长error 170:Too many segments 段太多一、运行错误信息运行错误分为四类:1-99为DOS错误;100-149为I/O错误,发生I/O后,如果使用了编译开关{$I+},程序将终止执行,否则编译开关为{$I-},程序继续执行,并由IOResult函数返回错误信息;150-199为严重错误,200-255为致命错误,致命错误将立即终止程序执行。
KEIL软件错误代码与错误信息

错误代码及错误信息错误释义error 1: Out of memory 内存溢出error 2: Ide ntifier expected 缺标识符error 3: Unknown ide ntifier 未定义的标识符error 4: Duplicate ide ntifier 重复定义的标识符error 5: Syn tax error 语法错误error 6: Error in real con sta nt 实型常量错误error 7: Error in in teger con sta nt 整型常量错误error 8: Stri ng con sta nt exceeds line 字符串常量超过一行error 10: Un expected end of file 文件非正常结束error 11: Li ne too long 行太长error 12: Type ide ntifier expected 未定义的类型标识符error 13: Too many ope n files 打开文件太多error 14: In valid file name 无效的文件名error 15: File n ot fou nd 文件未找到error 16: Disk full 磁盘满error 17: In valid compiler directive 无效的编译命令error 18: Too ma ny files 文件太多error 19: Un defi ned type in poin ter def 指针定义中未定义类型error 20: Variable ide ntifier expected 缺变量标识符error 21: Error in type 类型错误error 22: Structure too large 结构类型太长error 23: Set base type out of ra nge 集合基类型越界error 24: File comp onents may not be files or objectsfile 分量不能是文件或对象error 25: In valid stri ng len gth 无效的字符串长度error 26: Type mismatch 类型不匹配error 27 : error 27 : In valid subra nge base type 无效的子界基类型error 28 : Lower bound greater than upper bound 下界超过上界error 29 : Ordinal type expected 缺有序类型error 30 : Integer constant expected 缺整型常量error 31 : Constant expected 缺常量error 32 : Integer or real constant expected 缺整型或实型常量error 33 : Pointer Type identifier expected 缺指针类型标识符error 34 :In valid fun ctio n result type 无效的函数结果类型error 35 : Label identifier expected 缺标号标识符error 36 : BEGIN expected 缺BEGIN error 37 : END expected 缺ENDerror 38 : Integer expression expected error 39 : Ordinal expression expected error 40 : Boolean expression expected error 41 : Opera nd types do not match error 42 : Error in expression 表达式错误 error 43 : Illegal assignment 非法赋值 error 44 : Field identifier expected 缺域标识符 error 45 : Object file too large 目标文件太大 error 46 : Undefined external 未定义的外部过程与函数 error 47 : In valid object file record error 48 : Code segment too large 代码段太长 error 49 : Data segment too large 数据段太长 error 50 : DO expected 缺 DO error 51 : In valid PUBLIC defi nition 无效的 PUBLIC 定义 error 52 : In valid EXTRN defi nition 无效的 EXTRN 定义 error 53: Too many EXTRN definitions 太多的 EXTRN 定义 error 54 : OF expected 缺 OF error 55 : INTERFACE expected 缺 INTERFACE error 56 : In valid relocatable reference 无效的可重定位引用 error 57 : THEN expected 缺 THEN error 58 : TO or DOWNTO expected 缺 TO 或 DOWNTO缺整型表达式 缺有缺布尔表达式 操作数类型不匹配 无效的OBJ 文件格式error 59 : Undefined forward 提前引用未经定义的说明error 61 : In valid typecast 无效的类型转换error 62 : Division by zero 被零除error 63 : In valid file type 无效的文件类型error 64 : Cannot read or write variables of this type 不能读写此类型变量error 65 : Pointer variable expected 缺指针类型变量error 66 : String variable expected 缺字符串变量error 67 : String expression expected 缺字符串表达式error 68 : Circular unit reference 单元UNIT部件循环引用error 69 : Unit name mismatch 单元名不匹配error 70 : Unit vers ion mismatch 单元版本不匹配error 71 : In ternal stack overflow 内部堆栈溢出error 72 : Unit file format error 单元文件格式错误error 73 : IMPLEMENTATION expected 缺IMPLEMENTATIONerror 74 : Constant and case types do not match 常量禾口CASE类型不匹配error 75 : Record or object variable expected 缺记录或对象变量error 76 : Constant out of range 常量越界error 77 : File variable expected 缺文件变量error 78 : Pointer expression expected 缺指针表达式error 79 : Integer or real expression expected 缺整型或实型表达式error 80 : Label not with in curre nt block 标号不在当前块内error 81 : Label already defined 标号已定义error 82 : Undefined label in preceding statement part 在前面未定义标号error 83 : In valid @ argume nt 无效的@ 参数error 84 : UNIT expected 缺UNITerror 85:";" expected 缺“;”error 86 :":"expected 缺“:”error 87 :","expected 缺“,”error 88 :"("expected 缺“(”error 89 :")"expected 缺“)”error 90 :"="expected 缺“=”error 91 :":="expected 缺“:=”error 92 : "[" or "(." Expected 缺“或” “(error 93:"]" or ".)" expected 缺“]或“.)error 94 : "." expected 缺“.”error 95: ".." expected 缺“..”error 96 : Too many variables 变量太多error 97 : In valid FOR con trol variable 无效的 FOR 循环控制 变量 error 98 : Integer variable expected 缺整型变量 error 99 : Files and procedure types are not allowed here 该 处不允许文件和过程类型 error 100 : String length mismatch error 101 : In valid orderi ng of fields 无效域顺序 error 102 : String constant expected error 103 : Integer or real variable expected 缺整型或实型变 error 104 : Ordinal variable expected 缺有序类型变量 error 105 : INLINE error INLINE 错误 error 106 : Character expression expected 缺字符表达式 error 107 : Too many relocation items 重定位项太多 error 108 : Overflow in arithmetic operation 算术运算溢出 error 112 : CASE constant out of range CASE 常量越界 error 113 : Error in statement 表达式错误 error 114 : Cannot call an interrupt procedure 不能调用中断 过程 error 116 : Must be in 8087 mode to compile this 必须在字符缺字符串常量8087模式编译error 117 : Target address not found 找不至U目标地址error 118 : In elude files are not allowed here 该处不允许INCLUDE 文件error 119 : No inherited methods are accessible here 该处继承方法不可访问error 121 : In valid qualifier 无效的限定符error 122 : In valid variable reference 无效的变量弓丨用error 123 : Too many symbols 符号太多error 124 : Statement part too large 语句体太长error 126 : Files must be var parameters 文件必须是变量形参error 127 : Too many conditional symbols 条件符号太多error 128 : Misplaced conditional directive 条件指令错位error 129 : ENDIF directive missing 缺ENDIF 指令error 130 : Error in initial conditional defines 初始条件定义错误error 131 : Header does not match previous defi niti on 禾口前面定义的过程或函数不匹配error 133 : Cannot evaluate this expression 式不能计算该表达亠Jerror 134 : Expressi on in correctly termi nated 表达式错误结error 135 : In valid format specifier 无效格式说明符error 136 : In valid in direct reference 无效的间接弓丨用error 137 : Structured variables are not allowed here 该处不允许结构变量error 138 : Cannot evaluate without System unit 没有System单元不能计算error 139 : Cannot access this symbol 不能存取符号error 140 : In valid floati ng point operati on 无效的符号运算error 141 : Cannot compile overlays to memory 不能编译覆盖模块至内存error 142 : Pointer or procedural variable expected 缺指针或过程变量error 143 : In valid procedure or fun cti on reference 无效的过程或函数调用error 144 : Cannot overlay this unit 不能覆盖该单元error 146 : File access denied 不允许文件访问error 147 : Object type expected 缺对象类型error 148 : Local object types are not allowed 不允许局部对象类型error 149 : VIRTUAL expected 缺VIRTUALerror 150: Method ide ntifier expected缺方法标识符error 151 : Virtual constructors are not allowed 不允许虚构造函数error 152 : Constructor identifier expected 缺构造函数标识符error 153 : Destructor identifier expected 缺析构函数标识符error 154 : Fail only allowed within constructors 只能在构造函数内使用Fail标准过程error 155 : In valid comb in atio n of opcode and opera nds 操作数与操作符无效组合error 156 : Memory reference expected 缺内存引用指针error 157 : Cannot add or subtract relocatable symbols 不能加减可重定位符号error 158 : In valid register comb in atio n 无效寄存器组合error 159 : 286/287 instructions are not enabled 未激活286/287 指令error 160 : In valid symbol refere nee 无效符号指针error 161 : Code gen eratio n error 代码生成错误error 162 : ASM expected 缺ASMerror 166 : Procedure or function identifier expected 缺过程或函数标识符error 167 : Cannot export this symbol 不能输出该符号error 168 : Duplicate export name 外部文件名重复error 169 : Executable file header too large 可执行文件头太长error 170 : Too many segments 段太多一、运行错误信息运行错误分为四类:1-99为DOS错误;100-149为I/O错误,发生I/O后,如果使用了编译开关{$1+},程序将终止执行,否则编译开关为{$I-},程序继续执行,并由IOResult函数返回错误信息;150-199为严重错误,200-255为致命错误,致命错误将立即终止程序执行。
【免费下载】keil4错误信息整合

本章列出了编程中可能遇到的致命错误语法错误和警告信息每节包括一个信息 的主要说明和消除错误或警告条件可采取的措施
致命错误
致命错误立即终止编译这些错误通常是命令行指定的无效选项的结果当编译器不 能访问一个特定的源包含文件时也产生致命错 误 致命错误信息采用下面的格式 C51 FATAL-ERROR – ACTION <current action> LINE: <line in which the error is detected> ERROR: <corresponding error message> C51 TERMIANTED. C51 FATAL-ERROR – ACTION <current action> FILE: <file in which the error is detected> ERROR: <corresponding error message> C51 TERMIANTED. 下面说明Action和Error中可能的内容 Keil Software – Cx51 编译器用户手册—第七章错误信息 190
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
错误代码及错误信息 错误释义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 类型不匹配error 27Invalid subrange base type 无效的子界基类型error 28Lower bound greater than upper bound 下界超过上界error 29Ordinal type expected 缺有序类型error 30Integer constant expected 缺整型常量error 31Constant expected 缺常量error 32Integer or real constant expected 缺整型或实型常量error 33Pointer Type identifier expected 缺指针类型标识符error 34Invalid function result type 无效的函数结果类型error 35Label identifier expected 缺标号标识符error 36BEGIN expected 缺BEGINerror 37END expected 缺ENDerror 38Integer expression expected 缺整型表达式error 39Ordinal expression expected 缺有序类型表达式error 40Boolean expression expected 缺布尔表达式error 41Operand types do not match 操作数类型不匹配error 42Error in expression 表达式错误error 43Illegal assignment 非法赋值error 44Field identifier expected 缺域标识符error 45Object file too large 目标文件太大error 46Undefined external 未定义的外部过程与函数error 47Invalid object file record 无效的OBJ文件格式error 48Code segment too large 代码段太长error 49Data segment too large 数据段太长error 50DO expected 缺DOerror 51Invalid PUBLIC definition 无效的PUBLIC定义error 52Invalid EXTRN definition 无效的EXTRN定义error 53error 54OF expected 缺OFerror 55INTERFACE expected 缺INTERFACEerror 56Invalid relocatable reference 无效的可重定位引用error 57THEN expected 缺THENerror 58TO or DOWNTO expected 缺TO或DOWNTOerror 59Undefined forward 提前引用未经定义的说明error 61Invalid typecast 无效的类型转换error 62Division by zero 被零除error 63Invalid file type 无效的文件类型error 64Cannot read or write variables of this type 不能读写此类型变量 error 65Pointer variable expected 缺指针类型变量error 66String variable expected 缺字符串变量error 67String expression expected 缺字符串表达式error 68Circular unit reference 单元UNIT部件循环引用error 69Unit name mismatch 单元名不匹配error 70Unit version mismatch 单元版本不匹配error 71Internal stack overflow 内部堆栈溢出error 72Unit file format error 单元文件格式错误error 73IMPLEMENTATION expected 缺IMPLEMENTATIONerror 74Constant and case types do not match 常量和CASE类型不匹配 error 75Record or object variable expected 缺记录或对象变量error 76Constant out of range 常量越界error 77File variable expected 缺文件变量error 78Pointer expression expected 缺指针表达式error 79Integer or real expression expected 缺整型或实型表达式error 80Label not within current block 标号不在当前块内error 81Label already defined 标号已定义error 82Undefined label in preceding statement part 在前面未定义标号 error 83Invalid @ argument 无效的@参数error 84UNIT expected 缺UNITerror 85error 86 "error 87 "," expected 缺“,”error 88 "(" expected 缺“(”error 89 ")" expected 缺“)”error 90 "=" expected 缺“=”error 91 "=”error 92 "[" or "(." Expected 缺“[”或“(.”error 93error 94 "." expected 缺“.”error 95error 96Too many variables 变量太多error 97Invalid FOR control variable 无效的FOR循环控制变量error 98Integer variable expected 缺整型变量error 99Files and procedure types are not allowed here 该处不允许文件和过程类型error 100String length mismatch 字符串长度不匹配error 101Invalid ordering of fields 无效域顺序error 102String constant expected 缺字符串常量error 103Integer or real variable expected 缺整型或实型变量error 104Ordinal variable expected 缺有序类型变量error 105INLINE error INLINE错误error 106Character expression expected 缺字符表达式error 107Too many relocation items 重定位项太多error 108Overflow in arithmetic operation 算术运算溢出error 112CASE constant out of range CASE常量越界error 113Error in statement 表达式错误error 114Cannot call an interrupt procedure 不能调用中断过程error 116Must be in 8087 mode to compile this 必须在8087模式编译error 117Target address not found 找不到目标地址error 118Include files are not allowed here 该处不允许INCLUDE文件error 119No inherited methods are accessible here 该处继承方法不可访问error 121Invalid qualifier 无效的限定符error 122Invalid variable reference 无效的变量引用error 123Too many symbols 符号太多error 124Statement part too large 语句体太长error 126Files must be var parameters 文件必须是变量形参error 127Too many conditional symbols 条件符号太多error 128Misplaced conditional directive 条件指令错位error 129ENDIF directive missing 缺ENDIF指令error 130Error in initial conditional defines 初始条件定义错误error 131Header does not match previous definition 和前面定义的过程或函数不匹配error 133Cannot evaluate this expression 不能计算该表达式error 134Expression incorrectly terminated 表达式错误结束error 135Invalid format specifier 无效格式说明符error 136Invalid indirect reference 无效的间接引用error 137Structured variables are not allowed here 该处不允许结构变量error 138Cannot evaluate without System unit 没有System单元不能计算error 139Cannot access this symbol 不能存取符号error 140Invalid floating point operation 无效的符号运算error 141Cannot compile overlays to memory 不能编译覆盖模块至内存error 142Pointer or procedural variable expected 缺指针或过程变量error 143Invalid procedure or function reference 无效的过程或函数调用error 144Cannot overlay this unit 不能覆盖该单元error 146File access denied 不允许文件访问error 147Object type expected 缺对象类型error 148Local object types are not allowed 不允许局部对象类型error 149VIRTUAL expected 缺VIRTUALerror 150error 151Virtual constructors are not allowed 不允许虚构造函数error 152Constructor identifier expected 缺构造函数标识符error 153Destructor identifier expected 缺析构函数标识符error 154Fail only allowed within constructors 只能在构造函数内使用Fail标准过程 error 155Invalid combination of opcode and operands 操作数与操作符无效组合 error 156Memory reference expected 缺内存引用指针error 157Cannot add or subtract relocatable symbols 不能加减可重定位符号 error 158Invalid register combination 无效寄存器组合error 159286/287 instructions are not enabled 未激活286/287指令error 160Invalid symbol reference 无效符号指针error 161Code generation error 代码生成错误error 162ASM expected 缺ASMerror 166Procedure or function identifier expected 缺过程或函数标识符error 167Cannot export this symbol 不能输出该符号error 168Duplicate export name 外部文件名重复error 169Executable file header too large 可执行文件头太长error 170Too many segments 段太多一、 运行错误信息运行错误分为四类:1‐99为DOS错误;100‐149为I/O错误,发生I/O后,如果使用了编译开关{$I+},程序将终止执行,否则编译开关为{$I‐},程序继续执行,并由IOResult函数返回错误信息;150‐199为严重错误, 200‐255为致命错误,致命错误将立即终止程序执行。