标题: Keil编译出现问题*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS [打印本页]

作者: QIANDUPDUO    时间: 2024-4-17 11:56
标题: Keil编译出现问题*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
最近在学习怎么用C语言设计基于单片机的作息时间控制器,找到了教材上相近的例子,准备运行看看
但是keil编译时出现错误
求助大家
这个问题怎么解决啊
附带代码
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS

问问题.png (247.2 KB, 下载次数: 72)

问问题.png

AT89C51-.zip

73.14 KB, 下载次数: 3


作者: Hephaestus    时间: 2024-4-17 13:47
就是你写了多余代码,没有被调用,被连接器删掉了,不要管这个问题。
作者: QIANDUPDUO    时间: 2024-4-17 13:49
好好-----
作者: lkc8210    时间: 2024-4-17 14:07




作者: QIANDUPDUO    时间: 2024-4-17 14:19
lkc8210 发表于 2024-4-17 14:07

非常感谢,修改了代码,出现了这样的提示是为什么啊

问题3.png (268.36 KB, 下载次数: 84)

问题3.png

问题4.png (262.31 KB, 下载次数: 73)

问题4.png

作者: Graves    时间: 2024-4-17 14:39
第一个警告是LCD_Initiall函数没定义,或者定义了没声明
第二个警告是有一些没有返回值,应该是switch没有写default
下面错误应该是超过了RAM内存,128字节
错误太多了,所以如果是刚学习建议就直接换一个能跑的例程,不然就自己一个个慢慢改
作者: lkc8210    时间: 2024-4-17 15:50
发表于 2024-4-17 14:19
非常感谢,修改了代码,出现了这样的提示是为什么啊

你头文件的函数名和link.c里的不太对应啊
程序代码哪来的?
作者: Hephaestus    时间: 2024-4-17 15:52
警告可以不用管,错误必须解决,要看map文件才知道哪里多用了RAM导致空间不足。
作者: coody_sz    时间: 2024-4-17 17:34
未调用警告,可以忽略,但会占用资源。
作者: QIANDUPDUO    时间: 2024-4-17 19:02
lkc8210 发表于 2024-4-17 15:50
你头文件的函数名和link.c里的不太对应啊
程序代码哪来的?

噢噢 这个调用的时候忘记修改了  好的谢谢

作者: QIANDUPDUO    时间: 2024-4-17 19:47
Hephaestus 发表于 2024-4-17 15:52
警告可以不用管,错误必须解决,要看map文件才知道哪里多用了RAM导致空间不足。

好的 感谢 那我再看看
作者: QIANDUPDUO    时间: 2024-4-17 20:32
qq475878026 发表于 2024-4-17 14:39
第一个警告是LCD_Initiall函数没定义,或者定义了没声明
第二个警告是有一些没有返回值,应该是switch没有 ...

修改了一下,现在剩RAM内存的问题了
作者: Hephaestus    时间: 2024-4-18 23:52
QIANDUPDUO 发表于 2024-4-17 20:32
修改了一下,现在剩RAM内存的问题了

如果不方便贴代码,把map文件(缺省.m51文件)贴出来看看是哪里占用了太多的RAM。
作者: rayin    时间: 2024-4-19 07:47
这个警告是提醒: 所写的代码中, 有没有用到的函数代码段, 可以找到相关的子程序代码, 用#if 条件编译或是//或/* */注销掉. 单片机的rom空间有限, 这样可以节省编译后的hex文件大小.




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1