1。創(chuàng)建進(jìn)程外COM服務(wù)器(exe)。
2.將32位DLL的接口函數(shù)封裝為COM服務(wù)器的相關(guān)接口。
3.注冊COM服務(wù)器*。Exe/regserver(注銷*)。Exe/unreger服務(wù)器)。
4.64位進(jìn)程成功調(diào)用32位COM服務(wù)器接口。因此,64位進(jìn)程調(diào)用32位DLL。具體步驟:我先創(chuàng)建一個(gè)簡單的DLL項(xiàng)目,只輸出一個(gè)函數(shù)intc=add(inta,intb)來生成lib和DLL,然后創(chuàng)建一個(gè)進(jìn)程外的com(EXE類型),內(nèi)部鏈接DLL,add方法:add(long*c){*c=add(1,2)}來編譯生成。然后注冊com,*。Exe/regserver創(chuàng)建64位Win32項(xiàng)目,以驗(yàn)證方法調(diào)用在64位環(huán)境中是否正確。它被證實(shí)是正確的
!結(jié)論:上述方法可以解決64位進(jìn)程調(diào)用32位DLL的問題,32位進(jìn)程調(diào)用64位DLL也應(yīng)該用這種方法來解決。原因是在64位windows系統(tǒng)中安裝了32位和64位com系統(tǒng)
方法一:反射器可以區(qū)分。netdll文件:平臺(tái)目標(biāo)表示DLL在編譯時(shí)選擇的目標(biāo)系統(tǒng)。方法2CorFlags.exe使用visualStudio的工具工作室.NetCorflags工具,先打開與.net命令窗口:輸入coreflags
CRC是循環(huán)冗余校驗(yàn)。通常,包完整性檢查是完成的。如果檢查錯(cuò)誤,則源文件可能已被修改或損壞。建議復(fù)制備份文件并嘗試修復(fù)它。否則,我們只能替換其他計(jì)算機(jī)上的文件
首先,在“開始”菜單的“應(yīng)用程序”列表中找到visualstudio的文件夾,然后打開vsdeveloper命令提示符。通過vs命令提示符中的corflags命令,可以查看的位數(shù)。Net版本DLL。query命令是corflagsDLL的路徑。在查詢結(jié)果中,如果32bitreq的值為0,則表示DLL為64位,1表示DLL為32位。通過vs命令提示符中的dumpbin命令,可以查看。凈利潤和非凈利潤。網(wǎng)絡(luò)DLL。查詢命令是:dumpbin/headersc:\temp\Oracle.DataAccess.dll.在查詢結(jié)果中,如果fileheadervalues中有一個(gè)32位的wordmachine值,則表示DLL是32位的。
網(wǎng)頁題目:dll缺失怎么辦64位程序可以調(diào)用32位dll嗎?-創(chuàng)新互聯(lián)
分享鏈接:http://aaarwkj.com/article20/pjpco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、自適應(yīng)網(wǎng)站、網(wǎng)站改版、域名注冊、網(wǎng)站設(shè)計(jì)公司、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容