用keil編譯顯示警告warn
① keil編譯的時候可以設置不報warnings嗎
可以屏蔽的,在項目配置里找一下
② 用keil編寫的 C51錯誤 *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: C_START
是試過了,KEil編譯通過,沒有問題,可能是你Keil設置的問題,
解決辦法:
1.是文件沒有添加到工程里。
2.可能是因為存在沒有被調用的已經定義的函數。
3.不知道你有沒有把Sourcegroup組下面的A51.C刪掉,如果沒有刪,在A51.c上點右鍵,選擇removefile"".
4.建一個新的c文件,裡面寫一個空的函數,把該文件添加到project中,注意該文件不能再選generateassemblerSRCfile和assembleSRCfile選項。重新編譯工程,如果警告該函數沒被調用,在主文件中調一下。
5.建一個新的c文件,把主文件中的幾個函數移至該文件,把該文件添加到project中,注意該文件不能再選generateassemblerSRCfile和assembleSRCfile選項。重新編譯工程。
其他:UNRESOLVEDEXTERNALSYMBOL說明連接的時候沒有找到外部變數
externxdataunsignedcharRxPnt;只是說明引用外部變數,並不是實際的聲明。
應該在某個.c文件里有xdataunsignedcharRxPnt才行。
extern中對這個變數做了聲明,說這個變數將會在這個文件中用到,但並沒有定義
也就是那個變數並沒有真實存在.
需要要某個地方定義一下,
也有可能是你定義了,但是被條件編譯給去掉了也有可能.具體查一下工程里的所有源文件看看
③ Keil璋冭瘯紼嬪簭緙栬瘧鏃舵樉紺***WARNINGL16:UNCALLEDSEGMENT,
榪欎釜浣犵湅鑻辮灝辨槑鐧戒簡錛歕x0dx0a璀﹀憡錛氭湁涓涓娌℃湁璋冪敤鐨勫嚱鏁般俓x0dx0a鏄鍛婅瘔浣狅紝鏈変竴涓鍑芥暟錛屼綘瀹氫箟浜嗭紝鍗存病鏈夎皟鐢錛岃繖涓鍑芥暟鐨勫悕瀛楀彨錛歊ead_RO()x0dx0aC51緙栬瘧鍣ㄦ槸鐢ㄤ簬51鍗曠墖鏈虹殑錛屾棭鍦–51鎴愮珛涔嬪垵錛51鍗曠墖鏈虹殑ROM鏄闈炲父灝忕殑錛屽彧鏈夊嚑K錛屾墍浠ワ紝涓轟簡鑺傜渷ROM絀洪棿錛孋51緙栬瘧鍣ㄥ逛簬浣犲畾涔変簡錛屼絾鏄娌℃湁璋冪敤鐨勫嚱鏁頒細鎻愬嚭璀﹀憡錛屾剰鎬濇槸鎻愰啋浣犺妭鑳藉噺鎺掞紝涓嶈佹氮璐筊OM絀洪棿銆俓x0dx0a榪欎釜璀﹀憡浣犲彲浠ュ拷鐣ワ紝濡傛灉浣犱笉鎯沖拷鐣ワ紝閭d箞灝辮皟鐢ㄩ偅涓鍑芥暟鎴栬呭睆钄芥帀閭d釜鍑芥暟灝辮屼簡銆