在使用RealView MDK的過(guò)程中。積累了一些小的使用技巧,這些小技巧,平時(shí)可能不太引人注目,但如果注意到了,并養(yǎng)成好習(xí)慣,使用這些小技巧可以提高我們的工作效率,節(jié)省時(shí)間。
一、三種編譯方式的選擇
經(jīng)??吹接行┡笥言诰幾g源程序時(shí),總是點(diǎn)擊的使用場(chǎng)合(為了描述的方便,我將這三個(gè)按鈕分別編號(hào)為1,2,3)。下面分別介紹這三個(gè)按鈕適合的場(chǎng)合。
第一個(gè)按鈕:它的作用是編譯當(dāng)前的文件。這個(gè)按鈕的作用是只編譯單個(gè)文件,因此速度極快,這主要用于檢查某個(gè)文件是否有語(yǔ)法錯(cuò)誤。比如在起動(dòng)代碼里增加了一段匯編程序,看看有沒(méi)有語(yǔ)法錯(cuò)誤,就可以打開(kāi)起動(dòng)代碼文件,然后點(diǎn)擊第一個(gè)按鈕,即可很快地看到編譯結(jié)果。
第二個(gè)按鈕:它的作用是Build target。我們應(yīng)該經(jīng)常使用的是這個(gè)按鈕,而不是第三個(gè)按鈕。這個(gè)按扭在第一次編譯時(shí)和第三個(gè)按鈕沒(méi)區(qū)別,都是對(duì)整個(gè)工程的所有源文件進(jìn)行編譯鏈接。但如果前面編譯鏈接過(guò)。由于對(duì)程序修改了少量地方,那么這時(shí)就應(yīng)該使用這個(gè)按鈕了。點(diǎn)擊這個(gè)按鈕時(shí),編譯器會(huì)記錄上次編譯過(guò)的模塊,以及修改過(guò)的源程序,在這次編譯的過(guò)程中對(duì)那些沒(méi)修改過(guò)的源代碼并不進(jìn)行編譯而直接使用上次編譯的結(jié)果。這樣對(duì)于較大的工程將大大減小編譯鏈接時(shí)間,如果為了修改某一行代碼而錯(cuò)誤地選擇第三個(gè)按鈕,那將浪費(fèi)大量的時(shí)間。
第三個(gè)按鈕:它的作用是Rebuild all target files,即重新編譯所有的源文件,而與上次的編譯結(jié)果無(wú)關(guān)。我們應(yīng)該盡量少用這個(gè)按鈕。當(dāng)然有些情況我們需要使用這個(gè)按鈕,比如修改了優(yōu)化級(jí)別之后最好點(diǎn)這個(gè)銨鈕編譯。
說(shuō)到這里,讀者可能會(huì)有疑問(wèn),點(diǎn)第三個(gè)按鈕絕對(duì)沒(méi)錯(cuò),到底什么情況下點(diǎn)第二個(gè)按鈕不會(huì)有問(wèn)題又能節(jié)省時(shí)間呢。答案是當(dāng)你僅修改了源程序,而沒(méi)對(duì)整個(gè)工程配置選項(xiàng)作修改時(shí),使用第二個(gè)按鈕是最好的選擇。
二、Project->Clean target命令的使用
這個(gè)命令的作用是清除編譯鏈接過(guò)程中生成的所有中間文件、目標(biāo)文件以及可執(zhí)行文件。還你一個(gè)清爽的工程文件夾。這個(gè)我們一般比較少用,當(dāng)在打包放到互聯(lián)網(wǎng)上時(shí),可使用這個(gè)命令來(lái)減少工程占用空間。另外在將源代碼發(fā)放給客戶(hù)時(shí),可使用這個(gè)命令清除那些沒(méi)必要的文件。
該命令刪除的文件有:
1、 Object Folder文件夾中的可執(zhí)行文件名并帶有以下后綴的文件,*.lnp,*.htm,*.elf,*.h86,*.hex,*.orc,*.sbr,*.cod,*.plg。
2、 Listing Folder文件夾中的可執(zhí)行文件名并帶有以下后綴的文件,*.map,(對(duì)于C166還有*.m66,對(duì)C51還有*.m50)。
3、在Object Folder文件夾中所有后綴為*.obj,*.o,*._ii,*._ia,*.__i的文件。
4、在Listing Folder文件夾中所有后綴為*.lst的文件