Keil编程环境下的错误

每次在Keil编程环境中遇见各种各样的error和warning,这里就积累一点我所遇见的问题。

Q1:*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL

Q2:*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS

没有调用到定义过的函数,变量什么的,看看具体的警告信息(信息中有函数名的),把那个函数注释掉,这样能节约内存和程序空间。同时函数中的变量,不会被列入覆盖分析范围内,也就是说这些变量占的空间不能被回收,会浪费RAM资源。其实这是KEIL优化配置的效果,配置不同,效果也不一样。

当这个不被调用的函数写在C文件中时,可以把它注释掉来解决这个问题。

但是将一组函数包装成lib文件时,又该怎么解决?我们这个时候就不能单纯地每次修改,重新生成lib文件,这会造成移植性问题,这个时候,我们可以联想一下keil自带的库,我们在调用的时候并没有出现这种问题,是为什么呢?

1.条件编译 2.也可以设置如下:option for target--->bl51 misc-->disable warning ==写入16

Q3:A51 FATAL ERROR -
  FILE:       STARTUP.A51
  ERROR:      FILE DOES NOT EXIST
A51 TERMINATED.

就是STARTUP.A51的启动文件没有加入工程中,复制一份该文件到工程的目录下,或者重新加载一下启动文件的路径。

你可能感兴趣的:(C51)