在用Keil给51单片机进行编程时,我们常常遇到这样的问题,在一个程序中定义了一些我们当前还未使用,但是未来会用的程序,编译这样的代码时,总是会发出“UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS”这样的警告,或者我们在程序中谢了一些不需要的函数,但是又不想手动去删除,也不想这部分代码被编译和链接进最终的程序,以免浪费单片机有限的存储空间,那这个时候我们应该怎么办呢?
这里有一个办法可以供大家参考。
file
Keil使用"REMOVEUNUSED"就可以简单实现:
把target options中的device页中选上"Use LX51 ...",
最后在LX51 Misc页中的Misc Control中填入"REMOVEUNUSED",
确认后重新编译即可自动去掉未调用的函数。
file

file

file

接着使用Keil的优化级别9将代码优化,还可以进一步节省程序空间:
file

file

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注