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

標題: 請問keil中源碼中不想注銷的函數,怎么在編譯時不報錯 [打印本頁]

作者: 未來可期l    時間: 2023-3-14 14:21
標題: 請問keil中源碼中不想注銷的函數,怎么在編譯時不報錯

如圖所示,我在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

作者: 暖西夏    時間: 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
作者: coody_sz    時間: 2023-3-14 16:27
可以設置的,但是C51我不建議這么做,沒調用的會分配內存的,51芯片內存本來就吃緊,不要浪費了。
作者: 清風皓月撫心繞    時間: 2023-3-14 16:33
按照下面這個圖勾選上就可以了,勾選之后沒用到的函數不會編譯進hex文件就不會報錯

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

20160912155348054.jpg

作者: 清風皓月撫心繞    時間: 2023-3-14 16:38
進入options中的User 將one ELF section per勾選即可;它的作用是將主函數沒用到的函數不進行編譯
作者: lkc8210    時間: 2023-3-14 17:58
地板和5樓的適用于Keil MDK
Keil C51有另一種方法




REMOVEUNUSED


作者: 未來可期l    時間: 2023-3-14 19:43
lkc8210 發表于 2023-3-14 17:58
地板和5樓的適用于Keil MDK
Keil C51有另一種方法


感謝回復,我搜了一下確實很符合我的需求
作者: 未來可期l    時間: 2023-3-14 19:45
暖西夏 發表于 2023-3-14 15:53
借CSDN上一位大哥的回復            
                                                
             ...

感謝回復,另外我想知道要是用#if...#endof的話,應該用什么條件判斷是否使用函數呢
作者: 未來可期l    時間: 2023-3-14 19:45
清風皓月撫心繞 發表于 2023-3-14 16:33
按照下面這個圖勾選上就可以了,勾選之后沒用到的函數不會編譯進hex文件就不會報錯

感謝回復




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美午夜激情在线 | 91精品国产一区二区三区蜜臀 | 播放一级毛片 | 亚洲成在线观看 | 亚洲一一在线 | 欧美一区二区大片 | 亚洲欧美激情精品一区二区 | 性生生活大片免费看视频 | 99久久夜色精品国产亚洲96 | 亚洲一区二区精品视频 | 国产在线观 | 国产精品婷婷 | 亚洲精品无人区 | 久久精品在线播放 | 免费观看日韩av | 国产成年人小视频 | 日本黄色免费视频 | 国产精品免费一区二区三区 | 欧美一区二区三区在线播放 | 精品免费视频 | 国产在线中文字幕 | 五月激情六月婷婷 | 亚洲欧洲中文日韩 | 午夜av电影院 | 成人综合伊人 | 国产剧情一区二区三区 | 综合激情网 | 久久国产精品免费视频 | 综合色在线 | 亚洲精品视频在线播放 | 亚洲福利一区二区 | 在线观看视频91 | 99国产精品99久久久久久粉嫩 | 国产7777 | 国产精品久久国产精品 | 国产欧美一区二区三区在线看 | 欧美日韩在线一区二区 | 国产精品久久久久久久久久不蜜臀 | 成人a网 | 成人欧美一区二区三区色青冈 | 性精品|