keil編譯提示錯誤
㈠ keil中出現編譯錯誤,錯誤信息如下,各位大哥大姐給看看是什麼原因謝謝。十分緊急,跪等答案。
你的程序中沒有xdata 變數,說明在Keil設置中,內存模式的設置你選擇了「small」,只能使用內部RAM,造成你的變數定義超過128Byte(其實除去工作寄存器組和堆棧,實際能使用的RAM少於128位元組),這種錯誤一般應該在鏈接時出現。方法有兩個:1、減少變數定義,2、更改內存模式設置。
㈡ keil編譯中出現錯誤怎麼辦
1、打開軟體project-new project創建一個工程,並為其選擇一個存放目錄。
2、對工程進行一些配置(project-options for target 『target 1』)在output選項下的「create HEX file」前打上對號,工程編譯之後能夠輸出一個可以下載的「HEX」文件。
3、為工程添加.C,.h文件,右鍵單擊「source group 1」,應該就可以了。
㈢ keil 編譯時出現這樣的錯誤,怎麼回事
這個問題分別是重復定義了么,怎麼能是沒注冊呢!!!
對於比較小的程序,一般只有一個c文件和一個頭文件,全局變數我們通常會直接定義在c文件中,在程序之前加int i定義。如果要在頭文件中定義有以下兩種方法:用extern來聲明:extern int i;這一句只是對變數i進行聲明,在c文件的程序之前必須加上int i進行定義。extern int i=0;這一句聲明和定義都做了。
對於大一點的程序,有很多c文件和頭文件,這個時候全局變數就必須在頭文件中聲明(不需要初始化),然後在一個c文件中定義(該初始化的要初始化)。如果在頭文件中定義,則編譯的時候會出現重復定義的錯誤。如果只有頭文件中聲明就會出現沒有定義有警告。
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: K
MODULE: 222.obj (222)
出現上述錯誤則是因為變數k重復定義,把你的頭文件中的變數定義前加extern(只是變數聲明不用初始化),再在某一個你要調用該變數的c文件的程序之前再定義(注意第一個調用的c文件要負責附帶初始化該變數,其他調用的c文件就不需要初始化過程啦)
㈣ 在keil中編譯時出現以下問題,希望大蝦給予解釋。必有重謝
內存空間不夠,可能是你程序中定義了太多的變數佔用了大量的空間。
拓展:
1、Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟體開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的模擬調試器等在內的完整開發方案,通過一個集成開發環境(μVision)將這些部分組合在一起。
2、運行Keil軟體需要WIN98、NT、WIN2000、WINXP等操作系統。如果你使用C語言編程,那麼Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟體模擬調試工具也會令你事半功倍。
㈤ keil5,編譯出現錯誤,提示是段太大,怎麼辦
keil5,編譯出現錯誤,提示是段太大,怎麼辦?如果是51單片機的話,因為RAM資源很小,所以要盡量節約每一個位元組RAM,如果是常量數組就定義成常量,例如 code char datastr[2]={1,2};
如果有外部RAM,則定義到XRAM中,例如:xdata char datastr[2];
能用BIT就不要用char,能用char 就不要用Int。做單片機的話, 還是必須要了解一下其存儲結構, 最起碼得知道data idata xdata所指的存儲區域
idata 指向的片內ram ,大小范圍為256位元組,所以你一個數組定義在idata段內,不能超過256位元組,超過就會報錯。
xdata指向的片外ram,大小范圍為64KB,你可以將你需要的大容量數組定義在該段內
㈥ 安裝的keil軟體編譯時出錯:—錯誤:無法執行'D:\keil\c51\BIN\A51.exe' 是兼容問題嗎要怎麼解決呀
不是兼容問題,因為Keil 在執行命令時無法識別中文,所以地址必須是英文。還有,安裝目錄下找到tools,找到這個命令[C51] PATH="D:\keil\C51\" Path 後面改為 你自己的安裝位置就可以 PATH="你安裝的位置\C51\"
㈦ 用Keil編程序時編譯有錯誤,怎麼才能知道錯誤是什麼呢
每個錯誤都有自己的標號,你可以根據標號在keil提供的幫助文件中搜索有關的詳細內容,按下F1會彈出幫助文檔,文檔都是英文寫的。
另外你雙擊錯誤時游標會自動跳到keil認為的錯誤行,實際錯誤就在那一行的附近
或者你可以把你的錯誤放在網路裡面搜一搜,一般都會得到答案
㈧ keil編譯出現錯誤 點陣2.c(11): error C231: 'RCLK': redefinition
RCLK重復定義了,在reg52.h文件中已經定於過了RCLK
sbit RCLK = T2CON^5; //定時器2,接收時鍾允許位。
㈨ 在keil中,編譯時出現錯誤:Error:fail to execute『 C:\keil\C51\
在任務欄中有一個品字樣的彩色圖案,點擊它然後在選擇Folders/Extensions在Toll Base Folder:後面有一個路徑把他改成你自己keil安裝路徑下C51文件夾的路徑就行了!
㈩ 請問各位,keil編譯的時候總是提示 錯誤A15 MISSING FACTOR 是怎麼回事啊 跪求了 ,小弟真的著急了。
語法錯誤,小逗號用錯了位置。 比如 jnb p1.3,chuli2 是對的。如果寫成jnb ,p1.3,chuli2就多了一個逗號了。 就會missing factor
