當前位置:首頁 » 編程軟體 » keil怎麼修改編譯

keil怎麼修改編譯

發布時間: 2022-12-25 05:10:43

⑴ 在keil環境中遍了一段C51的程序後怎麼編譯

1 新建一工程;在主菜單project下(.Uv2)
2 新建一文件;如C則存為.c文件,如匯編則存為.asm文件;
3 在左邊窗口中的Target1上右擊,在菜單中選add file to group,再選中你的剛建的

文件,即把它加入到你的工程中。
4 選中主菜單project-->build target(或F7)即可編譯你的程序;
5 選中主菜單debug的第一項,則切換到調試窗口;
6 選中主菜單debug->go(F5)即可運行程序了。

注意:view ->periodic window update 是刷新窗口,這樣結果可以看得更清。

還有不清楚的問我:MSN:[email protected]
公司上QQ不方便,呵呵.

⑵ keil 怎麼用編譯匯編程

keil編譯匯編程序跟編譯C程序操作方法是一樣的。步驟如下:
1、建一個工程
2、添加或新建一個匯編文件
3、編輯這個匯編文件程序
4、點擊編譯命令進行編譯
如果沒有錯誤就可以生成HEX文件了。

⑶ 關於KEIL如何編譯

新建一個keil工程,工程和這幾個文件放同一個文件夾,然後把.c文件添加進工程去,就可以編譯了

⑷ 單片機c語言 keil編譯這些錯誤怎麼改

前面定義的全局變數數組wenzi[]最後應該是分號,而不是逗號。

延時子程序中用了庫函數_nop_();必須用#include包含頭文件intrins.h。因為沒加頭文件,_nop_()是不識別的,才引起變數p錯誤。

兩個延時子程序前面要加void,否則編譯時會警告。

主程序中還有幾處錯誤,修改如下圖

⑸ KEIL怎麼編譯匯編

錯誤很多處:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP TIME0_VECTOR

ORG 0100H
MAIN:
MOV R0,#0
SETB EA
MOV TMOD,0X01 ;匯編不能用0xXX表示,要用#01H 。以下同
MOV TH0,0X3C
MOV TL0,0XB0
CLR P0.0
SETB TR0 //50ms定時 ;匯編的注釋要用分號,你這是C的注釋。以下多處同此
LOOP:
AJMP LOOP

ORG 0200H
TIME0_VECTOR:
MOV TH0,0X3C
MOV TL0,0XB0
CLR TF0
INC R0
SUB R0,10 :是不是#10?
JNZ NEXT
MOV R0,#0
CLR P0.0 //R0滿10,燈ON
RETI
NEXT:
SUB R0,4
JNC OFF //不夠減小於10,不變
RETI , ;多了逗號?
OFF: ,
SETB P0.0 //R0大於4,滅OFF
RETI

;沒有END

⑹ eclipse 怎麼編譯keil工程

1. 把KeilBuilder.exe復制到MDK的編譯器目錄下, 一般為: C:\Keil\ARM\BIN40下, 這要看你的MDK安裝在哪了.
2. 新建一個C Project 工程, 並選擇Cross GCC交叉編譯工具為本工程編譯工具.
.通過菜單File -> new -> C Project 新建一個空的C工程. 在彈出的對話框中如下圖, 注意要選擇"Cross GCC"工具鏈:

3. 為新建的工程導入Keil工程或僅導入源文件.

4. 設置Eclipse工程交叉編譯環境.
.在左邊的"Porject Explorer"窗口內滑鼠右鍵單擊工程名, 選擇最後的菜單項"Properties"項.
.在C/C++ Build -> Settings界面中, 設置"Configuration"為"[ All configurations ]"; 設置"Cross Setttings"的"Path"即交叉工具鏈路徑為KeilBuilder所有的目錄, 如C:\Keil\ARM\BIN40. 如下圖:

.在"Cross GCC Compiler"的"Command"下填入"KeilBuilder -no", 表示什麼也不做; 另外的"Cross GCC Linker"及"Cross GCC Assembler"的"Command"中也設置為同值. 此設置為防Eclipse對不存在的GCC工具的報警, 如下圖:

.在C/C++ Build 界面中, Builder Settings 中去掉"Use default build command"上的勾, 並在"Build command"中填入"KeilBuilder.exe -d xxxx -e". 基中xxx為工程根目錄路徑, "-d"表示設置KeilBuilder的工程路徑, "-e"表示在編譯時自動對Eclipse工程進行設置, 目前僅設置"C/C++ Build" -> "Settings" -> "Cross GCC Compiler" -> 「Symbols」和」Includes」以及」Cross GCC Assmebler」 -> 「General」項. 如下圖:

.在C/C++ Build 界面中的"Behaviour"選項卡中, 在"Build(Incremental build)"中填入"-s"表示安靜編譯; 在"Clean"中填入"-c"表示清理工程. 如下圖:
.在C/C++ Build 中的 "Discovery Options" 中去掉 "Enable generate scanner info command"選項. 如下圖:

.不用設置預編譯宏或者Includes選項, 因為KeilBuilder會自動幫忙加進去. 所以, 有時候你看到代碼還有一大堆的錯誤時, 編譯一次後, 刷新工程(右鍵工程名 -> "Refresh")就木有錯誤鳥.
5. 到此, 可以編譯你的工程了. 通過菜單項"Project" -> "Build All"編譯工程, 或"Project" -> "Clean..."清理工程. 編譯不通過或得到不正確Hex文件的繼續往下看. 如下圖:

6. 在Eclipse中添加一個外部工具, 這樣可以通過Eclipse菜單項運行KeilBuilder, 方便.
.在Eclipse菜單中選擇Run -> External Tools -> External Tools Configurations...
.在彈出的對話框中雙擊"Program" 增加一個外部工具.
.在Name中填入"KeilBuilder".
.在"Main"選項卡中, Location通過"Browse File System..." 選擇KeilBuilder程序, 如: C:\Keil\ARM\BIN40\KeilBuilder.exe; 在Working Directory中填入KeilBuilder所在的目錄, 如C:\Keil\ARM\BIN40.
.在"Build"選項卡中, 去掉"Build before launch"上的勾.
.最後單擊"Apply" -> "Run"完成添加, 並運行KeilBuilder工具.
此後你就可以通過菜單Run -> External Tools -> KeilBuilder 來快速運行KeilBuilder工具了. 如下2圖:

7. 經過前面4步的設置, 你的工程編譯很可能會編譯不通過, 或者編譯出來的Hex文件下載不正確. 那是因為一些編譯器/鏈接器選項你還沒有配置.
這時, 你可以通過菜單Run -> External Tools -> KeilBuilder來運行KeilBuilder工具, 通過界面來設置這些參數. 或者也可以直接用記事本打開工程目錄中的"cts.ini"(如果工程目錄中不存在此文件, 請轉到KeilBuilder所在的目錄下的"cts.ini", 如果KeilBuilder所在目錄下也沒有, 那麼請雙擊運行下KeilBuilder程序, "cts.ini"就會自動生成)對參數進行修改.
注意, 在KeilBuilder界面上設置參數時, 必須選擇好自己的工程目錄, 如果沒有選擇工程目錄, 設置的結果會保存到KeilBuilder所在的目錄下的"cts.ini"文件中. KeilBuilder在首次運行時, 會在其所在目錄下生成cts.ini文件並設置參數為默認值. KeilBuilder在每次編譯一個工程時, 如果該工程目錄下發現"cts.ini", 就使用工程目錄下的"cts.ini"; 如果沒有發現"cts.ini"文件, 則把KeilBuilder所在目錄下的"cts.ini"文件復制一份到工程目錄下, 然後再編譯.
關於"cts.ini"文件中的這些參數, 它對應於Keil MDK環境中的ASM編譯器/C編譯器/Linker選項. 因為時間問題, 在KeilBuilder中並未實現(以後有空再搞吧)類似於Keil uVision中的選項式配置. 如果熟悉這些參數最好, 不熟的話可以先在Keil uVision中配置好, 再對應添加到"cts.ini"中.
在"cts.ini"文件中的"ASM=" 後面的內容對應於Keil uVision工程選項中的"Asm"選項.
在"cts.ini"文件中的"CC=" 後面的內容對應於Keil uVision工程選項中的"C/C++"選項.
在"cts.ini"文件中的"LNK=" 後面的內容對應於Keil uVision工程選項中的"Linker"選項.
8. 設置"cts.ini"文件中的編譯選項確實不是一般人能搞定. 我也不懂(誰懂的做個說明分享下吧, 可以的話還能集成為UI, 更方便). 因為人懶, 不想去深究這些編譯(鏈接)器選項, 於是想到了個折中的辦法: 通過Keil uVision來設置好這些參數並編譯工程, 然後把它實時的編譯選項顯示出來以供參考! 這樣當編譯選項無法搞定時, 就把整個工程交給keil uVision來編譯一次, 然後參考實時獲取的參數再對Eclipse工程的"cts.ini"文件做相應的修改就OK了.
在keil uVision中捕獲它的編譯選項, 需要做如下的設置. 在工程屬性"Options for Target xxxx"的"User"選項卡中 設置keil編譯後運行」KeilBuilder.exe -p」. 表示捕獲keil uVision編譯選項, 如下圖:

⑺ Keil uvision5中如何設置編譯器使其可以編譯c++內容

把源文件後綴名改為cpp。要支持C++11版本特性,只需要在Keil µVision集成編輯器里選擇Project - Options - C/C++ 在- Misc Controls裡面添加--cpp11.

⑻ 如何改變編譯器Keil的程序入口函數main(),用其他自定義函數代替

目前找不到C51(我用的是STC8051)的程序入口函數編輯方法。


STM32的程序入口函數編輯方法

STM32的編輯方法就比較簡單,首先新建一個工程,不導入任何運行時環境(Run-time Environment),然後導入Startup_stm32xxxx_xx.s(ASM起動文件),調試工程選項中C/C++選項卡里包含需要導入的庫文件。

隨後找到151行 IMPORT __main

把main改為自己想要設置的入口函數就行了。


其實很多人就由於自己不會自定義C語言工程的問題,而又想先自己動手寫代碼實現「到手即用」,所以簡單聽老師對於程序的針對性講解,默認按照main寫入口函數,其實main這個名字就是商業化的結果,一些知名廠商是給你留下一個編輯空間改入口函數的,可惜大家都不知道,而且Keil5出了那麼多年都不搞官方漢化,唉,虧死了很多英語詞彙不足的業余程序愛好者。

然後很多人第一印象以為譚浩強是C語言之父,草,不就是早期寫《C程序設計》然後被各個大學紛紛膜拜然後按圖索驥的作者嘛,最忌諱應試教育搞出了填鴨式教育法讓大家失去自主探索的機會。

⑼ keil5編譯按鈕在哪

keil5編譯按鈕在:Debug--找到圖中所示按鈕即為單步運行。

分別由C51及C51編譯器編譯生成目標文件(.obj)。目標文件可由LIB51 創建生成庫文件,也可以與庫文件一起經L51 連接定位生成絕對目標文件(.abs)。abs文件由OH51 轉換成標準的hex 文件,以供調試器dScope。

Keil C51單片機軟體開發系統的整體結構:

C51工具包的整體結構,μVision與Ishell分別是C51 for Windows 和for Dos 的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、模擬等整個開發流程。開發人員可用IDE本身或其它編輯器編輯C或匯編源文件。

然後分別由C51及C51編譯器編譯生成目標文件(.obj)。目標文件可由LIB51 創建生成庫文件,也可以與庫文件一起經L51 連接定位生成絕對目標文件(.abs)。

abs文件由OH51 轉換成標準的hex 文件,以供調試器dScope51 或tScope51 使用進行源代碼級調試,也可由模擬器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM中。



⑽ keil如何打開多個點c並完整編譯

點擊全局編譯按鈕
,完成後在相應目錄文件夾(之前存放hex文件的路徑)下即可看到生成的ethernet.lib文件。
6、lib文件生成後,還需.h文件,h文件有兩種方式,一種是保留之前.c文件對應的.h文件,繼續照常使用,另一種是可將單獨的.h文件合並成一個新的ethernet.h,直接在main.c調用ethernet.h即可。
7、將lib文件剪切放到Ethernet文件路徑下,將之前的socket.c、w5500.c等文件刪除掉,頭文件換成ethernet.h,工程里將ethernet.lib加入到group(ethernet文件夾)里。
8、將取消編譯的文件重新打開,將編譯後文件類型改回.hex文件,然後全編譯,沒有錯誤即完成。

另外,若想將一個.c文件生成一個lib文件,只需保留該.c文件進行編譯,.h文件也保持不變,將工程中原先的.c文件替換成.lib文件即可。

用心寫好每篇文章,分享給需要的你☺,如果對您有用希望能留下您的腳印(點贊/評論/收藏)!

stm32
c語言
keil mdk
嵌入式
注意!注意!你有一個手機待領取
巨摩互動
廣告

Keil對lib封裝庫反匯編成C語言.pdf
502下載·22評論
2013年5月6日
把c++的exe工程編譯為動態庫dll靜態庫lib,並實現調用(超詳細)
2087閱讀·0評論·1點贊
2020年8月28日
源代碼封裝成庫Lib的方法
504閱讀·0評論·0點贊
2022年10月14日
STM32/keil把多個c文件編譯為靜態庫lib
2190閱讀·0評論·6點贊
2021年1月5日
C/C++ 靜態庫(lib)的概念和使用方法
3432閱讀·0評論·4點贊
2022年5月2日
Keil 下生成LIB庫文件以及如何使用LIB庫文件
732閱讀·1評論·0點贊
2020年12月19日
注意!注意!你有一個手機待領取
巨摩互動
廣告
C語言 之 編譯自己的lib庫
1457閱讀·0評論·1點贊
2020年8月7日
CMake交叉編譯簡單教程
3.2W閱讀·2評論·14點贊
2018年9月7日
如何將c語言封裝成dll文件,封裝動態庫dll與靜態庫lib(原理及簡單實例)
2069閱讀·0評論·1點贊
2021年5月21日
keil C對lib封裝庫反匯編成C語言,Keil軟體「C語言」及「匯編」混編 —— 相關知識整理.doc...
1587閱讀·0評論·0點贊
2021年5月21日
keil 加密:編譯代碼成lib庫
454閱讀·0評論·0點贊
2022年7月28日
Keil C 裡面Lib庫文件的生成與調用
11下載·0評論
2020年8月4日
keil C對lib封裝庫反匯編成C語言
101下載·4評論
2011年4月8日
C語言編譯lib庫手動添加
1888閱讀·0評論·0點贊
2017年6月18日
基於Keil下多文件打包生成Lib庫文件的具體操作
2667閱讀·3評論·2點贊
2020年1月18日
Windows DOS命令行編譯C/C++程序----庫文件.lib的鏈接
1752閱讀·0評論·0點贊
2019年2月21日
keil把源代碼生成lib的方法
2754閱讀·0評論·6點贊
2022年1月25日
keil 編譯生成 .lib文件
2244閱讀·4評論·1點贊
2018年1月8日
keil多文件編譯
724閱讀·0評論·1點贊
2022年4月3日
在keil中將文件封裝為lib庫文件需要注意的地方
1395閱讀·0評論·0點贊
2021年11月15日
去首頁
看看更多熱門內容
評論1

YJer


你好,第6點中提到的,將單獨的.h文件合並成一個新的ethernet.h,

熱點內容
android適配原理 發布:2025-07-18 05:11:59 瀏覽:548
網路存儲伺服器如何搭建 發布:2025-07-18 04:47:23 瀏覽:549
手機上玩電腦我的世界伺服器 發布:2025-07-18 04:11:59 瀏覽:599
騰訊和安卓哪個渠道好 發布:2025-07-18 04:07:49 瀏覽:829
ftp不支持中文 發布:2025-07-18 03:46:19 瀏覽:245
伺服器太水了什麼原因 發布:2025-07-18 03:44:31 瀏覽:955
安卓怎麼去除紅色塗鴉 發布:2025-07-18 03:39:30 瀏覽:608
sql三表關聯 發布:2025-07-18 03:31:40 瀏覽:267
攬勝英國賽車綠是哪個配置的 發布:2025-07-18 03:18:11 瀏覽:392
linux如何安裝python 發布:2025-07-18 03:17:37 瀏覽:952