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