當前位置:首頁 » 編程軟體 » c51編程編譯警告

c51編程編譯警告

發布時間: 2022-09-08 08:00:34

A. c51編程警告*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS

大哥。。。你的void main拼錯了。。。拼到了mian了。。。還有

提醒你一句,D1=0;後面最好加一句while(1);

養成良好習慣

B. keil c51編譯出現警告

1主函數(main)寫重復了。
2
地址空間溢出

C. 用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中對這個變數做了聲明,說這個變數將會在這個文件中用到,但並沒有定義

也就是那個變數並沒有真實存在.

需要要某個地方定義一下,

也有可能是你定義了,但是被條件編譯給去掉了也有可能.具體查一下工程里的所有源文件看看

D. c51編譯過程中常見的警告有哪些

1.
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
在main函數裡面使用了某個變數,但沒有申明。或者申明了沒有實體。也就是說對於這個參數,編譯器無法解析
2.
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
頭文件定義時沒有加上ifndef
把gui.h文件按如下格式應該就沒問題了
//gui.h
#ifndef GUI_H_HFILE
#define GUI_H_HFILE 1
//此處放原來的頭文件內容
//
#endif
3.
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
有些已經定義的函數或者變數沒有使用。
這些是在編譯過程中較常見的,以後遇到了也會繼續補充。相互勉勵吧,加油

E. C51編譯警告warning C182: pointer to different objects

以前聽說過指向指針的指針,和二維數組的數組名是有區別的,不知道,只是不是同樣的原因。

F. keil c51 問題:程序無法編譯

你那程序也不長啊,直接把程序發上來,發什麼圖片哪?
第二個圖片顯示的,沒有錯誤了,只有一個警告,是因為調用那個延時子程序delay( ) 時,打錯了一個字母,打成dalay 了。
另外提示:保存C程序的文件夾,最好不 要用漢字,而且文件夾的層數不要太多了,你這一共是五層文件夾,有兩層還是漢字,編譯時容易出錯的。

G. C51編程,REFERENCE MADE TO UNRESOLVED EXTERNAL.

C51編譯警告「*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL」

*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL

SYMBOL: ?C_START

MODULE: .STARTUP.obj (?C_STARTUP)

*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL

SYMBOL: ?C_START

MODULE: .STARTUP.obj (?C_STARTUP)

ADDRESS: 000DH

問題原因:沒把C文件添加到項目中

解決方法:把新建的.c文件添加的項目文件中

c/c++語言中有很多地方要用到extern,但是如果沒有真正的了解它的意義,會給編程帶來很大的麻煩,為了使大家少走彎路,特祥細的說明一下。

對於比較小的程序,一般只有一個c文件和一個頭文件,全局變數我們通常會直接定義在c文件中,在程序之前加int i定義。如果要在頭文件中定義有以下兩種方法:用extern來聲明:extern int i;這一句只是對變數i進行聲明,在c文件的程序之前必須加上int i進行定義。extern int i=0;這一句聲明和定義都做了。

對於大一點的程序,有很多c文件和頭文件,這個時候全局變數就必須在頭文件中聲明,然後在一個c文件中定義。如果在頭文件中定義,則編譯的時候會出現重復定義的錯誤。如果只有頭文件中聲明就會出現沒有定義有警告。

這四個警告就是變數k在頭文件中有聲明,但是沒有定義,只需在某一個c文件的程序之前定義一下即可。

H. 51單片機匯編 警告 WARNING L5: CODE SPACE MEMORY OVERLAP 求解答

編譯沒有問題。
你的問題可能在於:工程中還有另一個文件,佔用了0000H開始的地址,如文件:STARTUP.A51
請在Add files to group...中刪除此類文件即可。

熱點內容
安卓怎麼樣恢復手機刪除的視頻 發布:2025-03-24 06:07:03 瀏覽:132
格式化手機usb存儲器 發布:2025-03-24 05:52:33 瀏覽:236
留學網源碼 發布:2025-03-24 05:37:09 瀏覽:874
如何讓瀏覽器用戶名密碼不過期 發布:2025-03-24 05:29:18 瀏覽:928
c語言字元串轉函數 發布:2025-03-24 05:17:03 瀏覽:476
androidstudio啟動模擬器 發布:2025-03-24 05:12:07 瀏覽:770
vs2008資料庫 發布:2025-03-24 05:12:01 瀏覽:445
國標壓縮彈簧 發布:2025-03-24 04:50:08 瀏覽:121
愛編程官網 發布:2025-03-24 04:32:20 瀏覽:655
編譯原理簡明教程答案 發布:2025-03-24 04:32:18 瀏覽:520