欢迎来到天天文库
浏览记录
ID:11423638
大小:355.00 KB
页数:40页
时间:2018-07-11
《keil c语言编程常见错误分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、1.Warning280:’i’:unreferencedlocalvariable说明局部变量i在函数中未作任何的存取操作解决方法消除函数中i变量的宣告及即定义的参数在程序中并未调用2Warning206:’Music3’:missingfunction-prototype说明Music3()函数未作宣告或未作外部宣告所以无法给其他函数调用解决方法将叙述voidMusic3(void)写在程序的最前端作宣告如果是其他文件的函数则要写成externvoidMusic3(void),即作外部宣告3Error:318:can’
2、topenfile‘beep.h’说明在编译C:8051MANN.C程序过程中由于main.c用了指令#include“beep.h”,但却找不到所致解决方法编写一个beep.h的包含档并存入到c:8051的工作目录中4Error237:’LedOn’:functionalreadyhasabody说明LedOn()函数名称重复定义即有两个以上一样的函数名称解决方法修正其中的一个函数名称使得函数名称都是独立的5***WARNING16:UNCALLEDSEGMENT,IGNOREDFOROVERLAYPROCESSS
3、EGMENT:?PR?_DELAYX1MS?DELAY说明DelayX1ms()函数未被其它函数调用也会占用程序记忆体空间解决方法去掉DelayX1ms()函数或利用条件编译#if…..#endif,可保留该函数并不编译6***WARNING6:XDATASPACEMEMORYOVERLAPFROM:0025HTO:0025H说明外部资料ROM的0025H重复定义地址解决方法外部资料ROM的定义如下PdataunsignedcharXFR_ADC_at_0x25其中XFR_ADC变量的名称为0x25,请检查是否有其它的变量
4、名称也是定义在0x25处并修正它7WARNING206:’DelayX1ms’:missingfunction-prototypeC:8051INPUT.CError267:’DelayX1ms‘:requiresANSI-styleprototypeC:8051INPUT.C说明程序中有调用DelayX1ms函数但该函数没定义即未编写程序内容或函数已定义但未作宣告解决方法编写DelayX1ms的内容编写完后也要作宣告或作外部宣告可在delay.h的包含档宣告成外部以便其它函数调用8***WARNING1:UNRE
5、SOLVEDEXTERNALSYMBOLSYMBOL:MUSIC3解决办法:1.是文件没有添加到工程里。2.可能是因为存在没有被调用的已经定义的函数。3.不知道你有没有把Sourcegroup组下面的A51.C删掉,如果没有删,在A51.c上点右键,选择removefile"".4.建一个新的c文件,里面写一个空的函数,把该文件添加到project中,注意该文件不能再选generateassemblerSRCfile和assembleSRCfile选项。重新编译工程,如果警告该函数没被调用,在主文件中调一下。5.建一个新的
6、c文件,把主文件中的几个函数移至该文件,把该文件添加到project中,注意该文件不能再选generateassemblerSRCfile和assembleSRCfile选项。重新编译工程9***WARNING2:REFERENCEMADETOUNRESOLVEDEXTERNALSYMBOL:MUSIC3MODULE:C:8051MUSIC.OBJ(MUSIC)ADDRESS:0018H在MUSIC3函数里面MUSIC这个参数有使用,没有申明。或者申明了没有实体。也就是说对于这个参数,编译器无法解析。10***ERRO
7、R107:ADDESSSPACEOVERFLOWSPACE:DATASEGMENT:_DATA_GOUP_LENGTH:0018H说明data空间已经不够用,原因是你可能有好多函数,而函数内部的局部变量又没有定义其空间,这种情况下,系统会将变量分配到你在OtionsforTarget对话框里的设置的空间。如果你在下图所示中的MemoryModel里设置成Small:variablesinDATA,则DATA空间很快便用完,导致data空间不够用。解决的办法有两种,一是通过更改MemoryModel设置,可以设置成pdata
8、或xdata,以便有足够大的空间,但这又带来新的问题,程序运行速度减慢,而且code代码也会加大,因为如果一个局部变量被存放在了xdata空间,汇编语言访问xdata空间的代码大小要比访问data空间的代码大,变量一旦很多,程序的代码也会逐渐增大;二是根据自己的要求设置变量的空间。所以这涉及到代码优化的
此文档下载收益归作者所有