A. keil5編譯沒問題但是顯示類型沖突是啥原因
keil5編譯沒問題但是顯示類型沖突的原因如下:
1、變數名重復:在程序中,可能會有不同的變數使用相同的名稱,導致編譯器無法確定使用哪個變數
2、數據類型不匹配:程序中可能存在數據類型不匹配的情況,例如將一個整型變數賦值給一個字元型變數,或者將一個指針變數賦值給一個非指針變數等。
3、編譯器版本問題:使用不同版本的編譯器可能野數會宴脊襲導致類型沖突,建議使用同一版本的編譯器進行編譯。晌兄
4、頭文件不匹配:程序中使用的頭文件與代碼中的函數或變數類型不匹配,或者頭文件中的函數或變數與其他頭文件中的函數或變數重名,導致類型沖突。
B. keil編譯器運行為什麼檢測不到錯誤
答:這種情況是你的程序還有別的錯誤,
當你把別的錯誤改掉後,再編譯你的vid 就會提示錯誤。
這種情況keil 經常有的。
C. 請問為什麼keil軟體中沒有錯誤,但不能編譯生成hex文件,當時你是怎麼解決的啊
如果你的keil設置都是對的話,編譯正確後會在軟體最下面的窗口顯示一些信息,其中就有生成xxx.hex的提示。如果有這句話,說明你的keil確實設置正確,並且也生成了可執行文件。這時候就只有一個可能,是你下載到單片機的可執行文件不是最新生成的,可以嘗試在下載時重新定位你的可執行文件。比如宏晶單片機在使用串口下載程序時,每次都要重新定位新生成的可執行文件。
D. keil錯誤:error c129: missing ';' before 'unsigned' 程序怎麼修改還是編譯不了,請各位前輩指點,謝謝
我也試驗了一下,復制到我的kiel 3中,編譯之後沒有錯誤和警告,我以前也遇到過類似問題,後來查出是.h文件中函數聲明少了個分號,但你這個是編譯器自帶的頭文件,只要你不動就應該沒事.建議你到別的機器上拷貝你用的兩個頭文件,將原來的頭文件覆蓋,在編譯試試.因為我和樓上的都編譯成功了,只能懷疑你的頭文件被改了.
E. 我編了一段51單片機程序,在keil中運行,然後一直處於編譯狀態,等了半天也沒有編譯好,請問是什麼原因
那就是程序沒有編好
F. 求解,keil編譯無法通過,百度搜不到答案
主要是三個問題:
第一、前面兩個警告是說函數定義了卻沒有調用, 可以不用管。
第二、Error L116的錯誤是說超過2K的程序都被切掉,沒有編譯它們了。可能原因:1、你的軟體沒有注冊,使用的評估版,最多隻能編譯2K程序;2、在下圖的Code Rom Size處設置限定了2K。
第三、後面的Error都是RAM空間不夠,你可以優化你的程序,或者試試設置下圖紅線區域的Memory Model: