如何編寫(xiě)dll的輸出函數(shù) 64位程序如何調(diào)用32位dll?
64位程序如何調(diào)用32位dll?工作流程:1.創(chuàng)建戰(zhàn)隊(duì)一個(gè)進(jìn)程外COM服務(wù)器(EXE)。2.將32位dll的接口函數(shù)標(biāo)準(zhǔn)封裝為COM服務(wù)器的查找接口。3.注冊(cè)COM服務(wù)器*.exe/regserver
64位程序如何調(diào)用32位dll?
工作流程:
1.創(chuàng)建戰(zhàn)隊(duì)一個(gè)進(jìn)程外COM服務(wù)器(EXE)。
2.將32位dll的接口函數(shù)標(biāo)準(zhǔn)封裝為COM服務(wù)器的查找接口。
3.注冊(cè)COM服務(wù)器*.exe/regserver(注消*.exe/unregserver)。
4.64位進(jìn)程全局函數(shù)32位COM服務(wù)器接口,成功。進(jìn)而曲線實(shí)現(xiàn)了64位進(jìn)程動(dòng)態(tài)創(chuàng)建32位dll。具體步驟:我簡(jiǎn)單創(chuàng)建角色了一個(gè)簡(jiǎn)單的dll工程,只作為輸出一個(gè)函數(shù)intcomit(inta,intb);生成lib和dll然后再創(chuàng)建一個(gè)進(jìn)程外COM(EXE類(lèi)型),內(nèi)部鏈接dll,先添加方法Method:Add(half*c){*comit(1,2);}編譯程序生成沉淀。后再去注冊(cè)COM,*.exe/regserver最創(chuàng)建角色一個(gè)64位WIN32工程修改密保64位環(huán)境下方法調(diào)用是否需要正確的,經(jīng)驗(yàn)證正確?。?!結(jié)論:以上方法可以不解決的辦法64位進(jìn)程調(diào)用32位dll的問(wèn)題32位進(jìn)程全局函數(shù)64位dll估計(jì)也可以不通過(guò)這種方法解決,原因64位windows系統(tǒng)下按裝了32位和64位兩套COM系統(tǒng)
DLL文件如何打開(kāi)?
1、你選擇是需要再打開(kāi)的DLL文件,可以下載eXescope,在它自動(dòng)彈出的面板中有一個(gè)自動(dòng)漢化的說(shuō)明,然后點(diǎn)擊“消滅零回復(fù)”。
查看dll函數(shù)及參數(shù)?
1.
馬上準(zhǔn)備好你要一欄的Dll。(如user32.dll)
2.
先打開(kāi)Dll函數(shù)查看器3.5。
3.
右鍵點(diǎn)擊“中,選擇文件”按鈕,中,選擇你的文件。
4.
然后點(diǎn)擊“再打開(kāi)”按鈕。你就會(huì)發(fā)現(xiàn),這個(gè)查看器列出了很多函數(shù)。
1.
馬上準(zhǔn)備好你要打開(kāi)系統(tǒng)的Dll。(如user32.dll)
2.
打開(kāi)Dll函數(shù)查看器3.5。
3.
右擊“你選文件”按鈕,你選你的文件。
4.
然后點(diǎn)擊“可以打開(kāi)”按鈕。你會(huì)發(fā)覺(jué),這個(gè)查看器列下了很多函數(shù)。
dll導(dǎo)出的函數(shù)名的問(wèn)題?
帶@的,只能說(shuō)明是C的導(dǎo)出函數(shù),但是也沒(méi)經(jīng)ExternC去處理的。
這個(gè)規(guī)則,是由編譯器委托的,所以才看起來(lái)很相似,其實(shí)了,我們可以不自己定義這個(gè)導(dǎo)入函數(shù)名的規(guī)則。