c51微控制器編譯成hex檔案的指令碼網上有很多,如下給出一段示例:
@echo off
set keilpath=c:\keil_v5\c51\bin
%keilpath%\c51.exe %1.c
%keilpath%\lx51.exe %1.obj to %1.abs
%keilpath%\ohx51.exe %1.abs
del %1.lst
del %1.obj
del %1.map
del %1.abs
::timeout /t 3
pause
這個指令碼雖然可以正常使用,但是卻必須把工程中所有c檔案的內容包含到main.c檔案中,這樣不僅不利於各個模組的分離,而且特別容易產生重定義以及多級包含的問題,或者要求把所有**寫到乙個檔案裡,極度難以使用,這裡做了非常好用的修改,將不同的c檔案分開編譯再鏈結,符合使用習慣,也有利於模組的移植,最最重要的是可以徹底擺脫keil古董的沒有自動補全的ide,真是太爽了!
例項bat指令碼如下,可能需要做少許修改:
@echo off
set keilpath=c:\keil_v5\c51\bin
cd %~dp1
for %%a in (*.c) do (
%keilpath%\c51.exe %%a
)setlocal enabledelayedexpansion
for %%a in (*.obj) do (
set str=!str!%%a,
)%keilpath%\lx51.exe %str:~0,-1% to %1.abs
endlocal
%keilpath%\ohx51.exe %1.abs
for %%a in (*.lst) do (
del %%a
)for %%a in (*.obj) do (
del %%a
)del %1.map
del %1.abs
::timeout /t 3
pause
C51字串提取python指令碼
提取目錄下所有子資料夾下c檔案包含對應 的行。寫這個的主要用途是提取c51的字串定義,預設提取 static code unsigned char 字元所在行,用於多語言翻譯時整理待翻譯提示符。示例 static code unsigned char langzn import os,re clas...
C語言多檔案編譯
學習c語言的時候,有時候前面寫的函式希望以後可以直接呼叫,而不用重寫。記錄上午學習的成果,希望對有同樣需求的新手有幫助 要在乙個原始檔中呼叫另乙個源文中的函式,需要先把那個函式包含進來即使用 include。例如 現需要在show.c中呼叫display 函式,可以將 分開寫在三個檔案中,分別是sh...
C51編譯器的擴充套件關鍵字
附表1 2 c51編譯器的擴充套件關鍵字 關鍵字用 途 說 明auto 儲存種類說明 用以說明區域性變數,預設值為此 break 程式語句 退出最內層迴圈 case 程式語句 switch 語句中的選擇項 char 資料型別說明 單位元組整型數或字元型資料 const 儲存型別說明 在程式執行過程中...