|
0.準(zhǔn)備工作: 安裝NotePad++、插件NppExec、TopMost等 安裝ResEdit (安裝文件自己?jiǎn)柖饶?,不?huì)的留言我放網(wǎng)盤共享) 都是綠色的軟件,安裝很簡(jiǎn)單,解壓到本地目錄即可1.配置NppExec腳本 比如,要將asm匯編文件生成一個(gè)exe文件,編輯腳本命令為: ----------------------------------------------------- cd $(CURRENT_DIRECTORY) ENV_SET PATH = D:\Masm32\bin; D:\Masm32\include; D:\Masm32\lib ml /c /coff /I D:\Masm32\include $(NAME_PART).asm link /LIBPATH:D:\Masm32\lib /subsystem:windows $(NAME_PART).obj /out:$(NAME_PART).exe NPP_RUN $(NAME_PART).exe 上面的腳本只夠編譯不帶資源的exe程序,下面貼上我自己改良的,供參考: cls cd $(CURRENT_DIRECTORY) npp_save env_set PATH = D:\Masm32\bin; D:\Masm32\include; D:\Masm32\lib //這里改為你自己的Masm32目錄 NPE_CONSOLE v+ cmd /c "if not exist $(NAME_PART).rc echo 0" set isExistFile = $(OUTPUTL) NPE_CONSOLE v- if $(isExistFile)==0 goto linkWithoutRes :linkWithRes echo makeASM2exe with resouce file! ml /c /coff /I D:\Masm32\include $(NAME_PART).asm rc /r $(NAME_PART).rc link /LIBPATH:D:\Masm32\lib /subsystem:windows /machine:ix86 $(NAME_PART).res $(NAME_PART).obj NPP_RUN $(NAME_PART).exe goto END :linkWithoutRes echo makeASM2exe without resouce file. ml /c /coff /I D:\Masm32\include $(NAME_PART).asm link /LIBPATH:D:\Masm32\lib /subsystem:windows /machine:ix86 $(NAME_PART).obj /out:$(NAME_PART).exe NPP_RUN $(NAME_PART).exe :END unset isExistFile env_unset PATH echo work done! 說明:上面的腳本能夠自動(dòng)判斷Notepad++當(dāng)前打開的asm文件目錄下有沒有同名的.rc資源文件,有則自動(dòng)編譯成res文件,鏈接到exe中,有個(gè)限制:rc資源文件必須和asm文件同名。這個(gè)應(yīng)該不是問題,一般都是這樣的哈,當(dāng)然可以修改腳本,例如沒有找到$(NAME_PART).rc或*.rc就調(diào)用inputbox函數(shù),交互一下文是否有資源文件,這樣也能輕松得到自己想要的效果~ 還有一個(gè)腳本,是根據(jù)Notepad++當(dāng)前打開的asm文件,自動(dòng)用ResEdit打開.rc資源文件?;蛘邲]有的話自動(dòng)創(chuàng)建一個(gè)空的.rc同名文件,用ResEdit打開: cls cd $(CURRENT_DIRECTORY) env_set PATH = D:\GreenProgram\ResEditor\ResEdit-x64 //這里改為你自己的ResEdit目錄 NPE_CONSOLE v+ cmd /c "if not exist $(NAME_PART).rc echo 0" set isExistFile = $(OUTPUTL) NPE_CONSOLE v- echo $(isExistFile) if $(isExistFile)==0 goto createRCfile goto openRCfile :createRCfile cls sel_saveto $(NAME_PART).rc :openRCfile cls ResEdit.exe $(NAME_PART).rc unset isExistFile env_unset PATH 至于ml,link等命令的參數(shù),請(qǐng)參考相應(yīng)的參數(shù)選項(xiàng) 這個(gè)編譯生成了對(duì)應(yīng)的exe之后,最后會(huì)調(diào)用這個(gè)生成的exe程序 將文件編譯成lib庫的腳本 ----------------------- cd $(CURRENT_DIRECTORY) ENV_SET PATH = D:\Masm32\bin; D:\Masm32\include; D:\Masm32\lib ml /c /coff /I D:\Masm32\include $(NAME_PART).asm link -lib *.obj /out:$(NAME_PART).lib 編譯C(最好是安裝好MinGW配置好PATH環(huán)境變量): --------------------------------------------- ENV_SET PATH = C:\msys\1.0\mingw\bin cmd /c "gcc -o $(CURRENT_DIRECTORY)\$(NAME_PART).exe $(FULL_CURRENT_PATH) " $(CURRENT_DIRECTORY)\$(NAME_PART).exe 編譯C++(最好是安裝好MinGW配置好PATH環(huán)境變量): --------------------------------------------- ENV_SET PATH = C:\msys\1.0\mingw\bin cmd /c "g++ -o $(CURRENT_DIRECTORY)\$(NAME_PART).exe $(FULL_CURRENT_PATH) " $(CURRENT_DIRECTORY)\$(NAME_PART).exe 2.將這些腳本添加到【宏】菜單,并分配快捷鍵: Notepad++中,【插件】-->【NppExec】-->【Advanced Options...】 勾選"Place to the Macros submenu" 在下面的Associate script下拉列表里面選擇并添加即可 分配快捷鍵: 【宏】-->【管理快捷鍵】-->選擇“Plugin commands” 依次找到剛才設(shè)定的幾個(gè)腳本,分配快捷鍵即可! 另外有一點(diǎn),就是用NotePad++寫的代碼,他內(nèi)部默認(rèn)使用的是UTF8編碼,而masm32默認(rèn)是采用的Ansi的API函數(shù),所以,此時(shí)在NotePad++中顯示正常的中文文字,如果編譯成exe之后,在exe中顯示的就是亂碼了,有兩種方法,一種是代碼前面加上UNICODE equ 1,表示使用Unicode的API寬函數(shù),還有一種方法就是將NotePad++的編輯器,默認(rèn)修改成ANsi的GB2312的編碼 整體效果還是不錯(cuò)的: ![]() ![]() ![]() |
|
|