1.dirs檔案
關於dirs檔案,就是指定要編譯的路徑,這個地球人都知道。還是簡單介紹一下。按照文件上面介紹有三種定義:dirs,dirs_ce和optional_dirs。
dirs:就是指定要編譯的目錄。
dirs_ce:只有目錄下的源**用於wince的映像檔案時,才編譯該目錄。
optional_dirs:指定可以選擇編譯的目錄。比如:optional_dirs=proj1,如果想編譯proj1目錄,可以設定build_options=proj1,然後執行build命令就可以了。
舉個例子:
dirs= common /
drivers /
oal /
bootloader
表示需要編譯common,drivers,oal和bootloader目錄。
dirs=*
表示編譯當前的所有目錄。
2. sources檔案
在wince bsp中會看到很多sources檔案,一般會和源**放在同乙個目錄,當然不是絕對的。這些sources檔案裡面就是定義了一些巨集,主要用於告訴build.exe在編譯源**的時候應該如何編譯和鏈結,告訴nmake.exe如何編譯源**以及最後生成什麼型別的檔案。
下面具體介紹一下:
targetname:最後編譯完後生成的目標檔案的名字,不包括副檔名。
targettype:生成的檔案的型別。具體值如下:
library,乙個.lib檔案
dynlink,乙個.dll檔案
program,乙個.exe檔案
releasetype:該巨集設定兩個環境變數releasedir和releaselibdir,就是設定編譯後生成檔案存放的路徑。具體值如下:
platform,生成的檔案在platform//
local,生成的檔案在當前路徑下
custom,生成的檔案在targetpath指定的位置
managed,生成的檔案在%_projectroot%/oak//managed
oak, sdk, ddk,生成的檔案在%_projectroot%/oak/
targetpath:當上面的releasetype=custom的時候,該巨集指定路徑
sourcelibs:靜態鏈結。函式的實體被鏈結過來,生成乙份拷貝
targetlibs:動態鏈結。函式的位址被鏈結過來,系統執行時會載入該庫
includes:指定額外的要搜尋的標頭檔案的路徑
sources:指定要被編譯的檔案
adefines:指定彙編器要使用的引數
cdefines:指定編譯器要使用的引數
ldefines:指定聯結器要使用的引數
rdefines:指定資源編譯器rc.exe的引數
dllentry:指定dll的入口函式
deffile:指定該模組的.def檔案
exeentry:指定可執行檔案的入口函式
skipbuild:不做實際的build操作,直接返回成功
wincecod:編譯後生成乙個.cod的彙編檔案,用於檢視彙編**除錯
wincecpu:用於說明為指定的cpu編譯,這樣被編譯出來的目標檔案會被放在_tgtcpu環境變數所指定的子目錄下面,一般該巨集在sources.cmn中定義。
wincemap:編譯後生成乙個.map檔案,用於除錯
winceoem:設定該值表示需要使用wince下的一些公用的庫和標頭檔案,該值一般在bsp中的sources.cmn中定義。
wincetargetfile0:用於告訴編譯系統在編譯當前路徑下的原始碼檔案之前,要先由build.exe編譯的目標檔案。
wincetargetfiles:用於告訴編譯系統在鏈結當前路徑下所有的目標檔案之前,要先由build.exe編譯的目標檔案。
wince_override_cflags:用於定義使用者自己的編譯器引數取代預設的編譯器引數。
舉個例子:
targetname=serial_smdk2410
targettype=dynlink
releasetype=platform
targetlibs=$(_commonsdkroot)/lib/$(_cpuindpath)/coredll.lib /
$(_sysgenoakroot)/lib/$(_cpuindpath)/ceddk.lib
sourcelibs=$(_sysgenoakroot)/lib/$(_cpuindpath)/serpddcm.lib /
$(_sysgenoakroot)/lib/$(_cpuindpath)/com_mdd2.lib
deffile=serial.def
dllentry=_dllentrycrtstartup
sources= ser_smdk2410.cpp /
pdds3c2410_ser.cpp
需要編譯的檔案為ser_smdk2410.cpp和pdds3c2410_ser.cpp,def檔案為serial.def,dll的入口函式是_dllentrycrtstartup,靜態連線serpddcm.lib和com_mdd2.lib兩個庫,動態鏈結coredll.lib和ceddk.lib兩個庫,最終編譯為dll檔案,檔名為serial_smdk2410.dll。
最後總結一下,dirs檔案會和sources檔案配合使用,但是他們不可能存在同乙個目錄下面。dirs檔案指定編譯目錄,sources檔案指定如何編譯。
wince 中的Dirs檔案和Source檔案
a dirs檔案 關於dirs檔案,就是指定要編譯的路徑,這個地球人都知道。還是簡單介紹一下。按照文件上面介紹有三種定義 dirs,dirs ce和optional dirs。dirs 就是指定要編譯的目錄。dirs ce 只有目錄下的源 用於wince的映像檔案時,才編譯該目錄。optional ...
WinCE中的檔案系統檔案
檔案系統檔案 dat 定義了在目標裝置初始化時設定的檔案和資料夾的位置,當目標裝置冷啟動時,filesys.exe將會使用這些檔案系統檔案在記憶體中來建立資料夾,鏈結和檔案等。通過修改project.dat檔案中資料夾和檔案位置的定義,你可以定義任何除了windows資料夾以外的根資料夾,另外,你還...
彙編檔案 s和 S的區別
s 組合語言源程式 操作 彙編 s組合語言源程式 操作 預處理 彙編 1.小寫的 s檔案,在後期階段不會再進行預處理操作了,所以我們不能在其內寫上預處理語句。一般是 c 檔案經過彙編器處理後的輸出。如 gcc 編譯器就可以指定 s 選項進行輸出,且是經過預處理器處理後 的了。2.大寫的 s 檔案,還...