標題: 為什么keil提示警告WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS [打印本頁]

作者: 歐陽云天    時間: 2018-5-1 21:43
標題: 為什么keil提示警告WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
  我是初學者,看了半天程序應該沒啥毛病呀,問題是編譯器提示警告,基礎東西搞不定,請教大師些
Build target '目標 1'
assembling STARTUP.A51...
compiling led3.c...
linking...
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?DELAY?LED3
Program Size: data=9.0 xdata=0 code=44
"led3" - 0 Error(s), 1 Warning(s).

  1. #include<reg52.h>
  2. sbit led1=P1^2;
  3. sbit led2=P1^3;
  4. void delay();
  5. void main()
  6. {
  7.    while(1);
  8.    {
  9.     led1=0;
  10.     led2=1;
  11.     delay();
  12.     led1=1;
  13.     led2=0;
  14.     delay();
  15.    }
  16. }

  17. void delay()
  18. {
  19.   unsigned int i,j;
  20.    for(i=500;i>0;i--)
  21.     for(j=114;j>0;j--);
  22. }
復制代碼



作者: zero711    時間: 2018-5-1 23:23
L16警告就是告訴你有未被顯式調用的程序段,由于連接器并不能確定是否有隱式調用(例如通過函數(shù)指針或者手工入出棧強制跳轉之類的形式),所以該程序段占用的RAM空間都不得不獨立保留,有可能造成額外的空間浪費。
作者: cx301    時間: 2018-5-2 00:06
while(1);這句話多了分號,加上分號后,該語句后的程序不會被執(zhí)行。
作者: wenluquan    時間: 2018-5-2 11:21
while(1);后面無法執(zhí)行到
作者: 歐陽云天    時間: 2018-5-2 21:22
cx301 發(fā)表于 2018-5-2 00:06
while(1);這句話多了分號,加上分號后,該語句后的程序不會被執(zhí)行。

原來是這樣,謝謝




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1