久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1910|回復: 8
打印 上一主題 下一主題
收起左側

請問keil中源碼中不想注銷的函數,怎么在編譯時不報錯

[復制鏈接]
回帖獎勵 20 黑幣 回復本帖可獲得 20 黑幣獎勵! 每人限 1 次
跳轉到指定樓層
樓主

如圖所示,我在delay.h中保留了void Delay1ms();但是實際在main()中,我并沒有用,在編譯時就會報warning

*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?DELAY1MS?DELAY



warning的意思我明白。但是我在看stm32的源碼的時候,,main函數里也沒有調用所有的函數。但是編譯就不會報warning。我想問問各位大佬怎么在不注釋掉void Delay1ms();的情況下。任然編譯后沒有warning。或者說stm32是怎么實現在有大量函數不被調用的情況下還能不報錯的


Snipaste_2023-03-14_14-07-30.png (76.83 KB, 下載次數: 47)

圖1

圖1
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:807182 發表于 2023-3-14 15:53 | 只看該作者
借CSDN上一位大哥的回復            
                                                
                                                
***WARNINGL16:UNCALLEDSEGMENT,IGNOREDFOROVERLAYPROCESS
   SEGMENT:?PR?_COMPARE?TESTLCD
說明:程序中有些函數例如COMPARE(或片段)以前(調試過程中)從未被調用過,或者根本沒
有調用它的語句。
這條警告信息前應該還有一條信息指示出是哪個函數導致了這一問題。只要做點簡單的調整就
可以。不理它也沒什么大不了的。但是,我們知道,即使沒有調用這個函數,Keil仍然把它編譯連接進整個程序,不過浪費點ROM倒是不心疼。最主要的是,在這個函數中的變量,不會被列入覆蓋分析范圍內,也就是說這些變量占的空間不能被回收,這對于為數不多的RAM資源可是巨大的浪費啊。。。
解決方法:

(1)刪除或注釋掉COMPARE()函數

(2)或利用條件編譯#if…..#endif,可保留該函數并不編譯。

   如果你一定要考慮可移植性的話,就這樣做,否則還是采取方法(1)

   (3)想不顯示這些提示:則可設置如下:
       option for target
       --->bl51 misc
       --->disable warning ==這里寫入16
回復

使用道具 舉報

板凳
ID:1034262 發表于 2023-3-14 16:27 | 只看該作者
可以設置的,但是C51我不建議這么做,沒調用的會分配內存的,51芯片內存本來就吃緊,不要浪費了。
回復

使用道具 舉報

地板
ID:1019324 發表于 2023-3-14 16:33 | 只看該作者
按照下面這個圖勾選上就可以了,勾選之后沒用到的函數不會編譯進hex文件就不會報錯

20160912155348054.jpg (205.11 KB, 下載次數: 49)

20160912155348054.jpg

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:1019324 發表于 2023-3-14 16:38 | 只看該作者
進入options中的User 將one ELF section per勾選即可;它的作用是將主函數沒用到的函數不進行編譯
回復

使用道具 舉報

6#
ID:161164 發表于 2023-3-14 17:58 | 只看該作者
地板和5樓的適用于Keil MDK
Keil C51有另一種方法




REMOVEUNUSED

回復

使用道具 舉報

7#
ID:1043388 發表于 2023-3-14 19:43 來自手機 | 只看該作者
lkc8210 發表于 2023-3-14 17:58
地板和5樓的適用于Keil MDK
Keil C51有另一種方法


感謝回復,我搜了一下確實很符合我的需求
回復

使用道具 舉報

8#
ID:1043388 發表于 2023-3-14 19:45 來自手機 | 只看該作者
暖西夏 發表于 2023-3-14 15:53
借CSDN上一位大哥的回復            
                                                
             ...

感謝回復,另外我想知道要是用#if...#endof的話,應該用什么條件判斷是否使用函數呢
回復

使用道具 舉報

9#
ID:1043388 發表于 2023-3-14 19:45 來自手機 | 只看該作者
清風皓月撫心繞 發表于 2023-3-14 16:33
按照下面這個圖勾選上就可以了,勾選之后沒用到的函數不會編譯進hex文件就不會報錯

感謝回復
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久无码av | 一区二区三区视频在线 | 免费观看色 | 毛片一区 | 日韩一区二区三区视频 | 免费国产视频 | 草逼网站 | 国产人成精品一区二区三 | 免费久久久久久 | 一区二区视频免费观看 | 丝袜久久 | 91在线一区 | 97人人澡人人爽91综合色 | 久久免费视频观看 | 日韩精品999| 国内精品久久精品 | 一区中文| 亚洲国产精品久久久 | 欧美一区二区激情三区 | 欧美激情精品久久久久久 | 日韩国产在线 | 紧缚调教一区二区三区视频 | 在线视频亚洲 | 亚洲精品一区二区三区中文字幕 | 精品视频一区二区三区 | 亚州精品天堂中文字幕 | 日本精品一区二区三区在线观看 | 日韩欧美专区 | 欧美精品欧美精品系列 | 免费三级网站 | 最新av在线播放 | 91精品国产综合久久福利软件 | 国产午夜视频 | 日韩精品在线播放 | 欧美色综合一区二区三区 | 精品一二区 | 黄色网络在线观看 | 中文字幕二区 | 精品久久99 | 国产亚洲一区二区三区 | 国产精品国产三级国产aⅴ无密码 |