許多VB開發者都知道應該在工程屬性對話框的“編譯”功能頁面中定義一個DLL基地址數值。這不同於工程中任何其他DLL或OCX的基地址。
當操作沒有源代碼的編譯DLL或者OCX文件時,可以使用EDITBIN程序修改它的基地址。EDITBIN程序隨VisualStudio安裝後就有了,可以在主VisualStudio目錄的VC98BIN目錄下找到它。比如,以下代碼重新設定一個編譯DLL文件的基地址為12000000(16進制):
EDITBIN/REBASE:BASE=0x12000000myfile.dll
同樣,EDITBIN程序對可執行文件也有一些處理技巧。
以下是該程序支持的完整功能選項列表(使用EDITBIN/?可以列出這些):
/BIND[:PATH=path]
/HEAP:reserve[,commit]
/LARGEADDRESSAWARE[:NO]
/NOLogo
/REBASE[:[BASE=address][,BASEFILE][,DOWN]]
/RELEASE
/SECTION:name[=newname][,[[!]{cdeikomprsuw}][a{1248ptsx}]]
/STACK:reserve[,commit]
/SUBSYSTEM:{NATIVE|WINDOWS|CONSOLE|WINDOWSCE|POSIX}[,#[.##]]
/SWAPRUN:{[!]CD|[!]NET}
/VERSION:#[.#]
/WS:[!]AGGRESSIVE
->