标题: *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS这个警告怎么消除? [打印本页]

作者: ben1210    时间: 2015-6-7 01:13
标题: *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS这个警告怎么消除?
keil 编译的时候出现这个警告*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS 要怎么消除??没有任何错误,也没有没用过的子程序!

#include "reg52.h"                                                   
#define  uchar  unsigned char                                       
#define  uint unsigned int
sbit d1=P3^7;
sbit d2=P3^6;
sbit d3=P3^5;
sbit d4=P3^4;
sbit IN1=P1^0;// 左边电机为10,正转
sbit IN2=P1^1;//  左边电机        位01,反转
sbit IN3=P1^2;// 右边电机为10,正转
sbit IN4=P1^3;//右边电机为01,反转
void xunji(void);
void zuozhuan(void)
{ IN1=1;
  IN2=0;
IN3=0;
IN4=1;        }


void youzhuan(void)
{ IN1=0;//
IN2=1;//右边正转且左边反转
IN3=1;//
IN4=0;        //

}

void qianjin(void)
{ IN1=1;//
IN2=0;//
IN3=1;//左右都为正转
IN4=0;//
}
void stop(void)
{IN1=0;
IN2=0;
IN3=0;           //都为零
IN4=0;
}
void main()
{
   
while(1)
{ xunji();
}
}
void xunji()
{
if(d1==0&&d2==0&&d3==0&&d4==0)
{
    void qianjin();
          }//前进全亮
   if(d1==0&&d2==0&&d3==0&&d4==1)
   {
     zuozhuan();
   }
   if(d1==1&&d2==0&&d3==0&&d4==0)
   {
      youzhuan();
   }
           if(d1==1&&d2==1&&d3==1&&d4==1)
        {  stop();
        }
}
linking...
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?QIANJIN?DIANJI
Program Size: data=9.0 xdata=0 code=102
creating hex file from "电机"...
"电机" - 0 Error(s), 1 Warning(s).
作者: ben1210    时间: 2015-6-7 01:15
也没有没有调用没有用的子程序!!这是为什么啊?

作者: admin    时间: 2015-6-7 01:27
WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
不影响运行啊,只是说你定义的函数没有调用而已
作者: admin    时间: 2015-6-7 01:27
  1. if(d1==0&&d2==0&&d3==0&&d4==0)
  2. {
  3.     void qianjin();
  4.           }//前进全亮
  5.    if(d1==0&
复制代码


这是你的程序 你吧void去掉再试试..
作者: ben1210    时间: 2015-6-7 12:57
恩恩,今天早上刚刚搞定!!
作者: 。333    时间: 2017-3-5 21:13
你怎么解决的楼主
作者: To_遠方    时间: 2017-5-17 22:25
ben1210 发表于 2015-6-7 01:15
也没有没有调用没有用的子程序!!这是为什么啊?

我也遇到了一样的情况 楼主你怎么解决的 求告知.
作者: luoxi123    时间: 2017-5-18 12:44
没有调用到自己前面声明的函数,删掉就好了
作者: smallriver    时间: 2017-5-30 23:05
To_遠方 发表于 2017-5-17 22:25
我也遇到了一样的情况 楼主你怎么解决的 求告知.

你定义的函数没有使用到,告诉你别浪费单片机的空间,所以只需要把那个函数给屏蔽就可以了
作者: 春风电子    时间: 2018-7-17 10:16
smallriver 发表于 2017-5-30 23:05
你定义的函数没有使用到,告诉你别浪费单片机的空间,所以只需要把那个函数给屏蔽就可以了

正解,
作者: Pintitus    时间: 2018-7-20 09:09
明白了,
作者: zyzzhenshuai    时间: 2018-12-17 16:01
我也是遇到相同的问题,求解决
作者: zyzzhenshuai    时间: 2018-12-17 16:02
C:\Users\Administrator\Desktop\截图
作者: 冷月枫    时间: 2019-8-7 22:21
ben1210 发表于 2015-6-7 12:57
恩恩,今天早上刚刚搞定!!

我同样的为问题,怎么搞定的啊”
作者: thatscool    时间: 2019-10-6 22:57
冷月枫 发表于 2019-8-7 22:21
我同样的为问题,怎么搞定的啊”

兄弟,你可以了吗,我也遇到一样问题
作者: bboroo    时间: 2019-11-17 20:08
上面说了,把void去掉就对了,我也遇到过这个错误提示
作者: Crazy·    时间: 2020-4-21 10:27
这个不是错误,只是你 定义的东西没有使用而已,提醒你一下,而且warning下面一般都有提示,例如我这个就是函数C:\Users\Administrator.WM-201907091037\Desktop  LCD_SHOWSTR1()没有调用过[attach]230452[/attach]
作者: 权威人物    时间: 2020-4-21 19:09
thatscool 发表于 2019-10-6 22:57
兄弟,你可以了吗,我也遇到一样问题

你们能不能看下回复?注释掉就行了,反正你也没用
作者: WENZZ    时间: 2020-4-21 19:41
文件名要为英文
作者: 简单互动    时间: 2021-2-16 18:04
支持 正解
作者: 990722    时间: 2021-6-28 08:57
我用到了子程序,可是还是这样是为什么


作者: xiaowei061    时间: 2021-10-28 17:54
在链接器选项卡里添加去除警告就可以消除了。



作者: EurusHolmes    时间: 2022-3-6 10:25
admin 发表于 2015-6-7 01:27
WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
不影响运行啊,只是说你定义的函数没有调用 ...

感谢大佬





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