小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

將Notepad++打造為自己的Win32匯編編輯器

 herowuking 2015-06-07
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ò)的:

 
 
 
 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多