回覆列表
  • 1 # 大大r哥哥

      工作流程:  

    1.建立一個程序外COM伺服器(EXE)。  

    2.將32位dll的介面函式封裝為COM伺服器的相關介面。  

    3.註冊COM伺服器*.exe /regserver (登出 *.exe /unregserver)。  

    4.64位程序呼叫32位COM伺服器介面,成功。從而曲線實現了64位程序呼叫32位dll。  具體步驟:  我首先建立了一個簡單的dll工程,只輸出一個函式int c = add(int a,int b); 生成lib和dll  然後建立一個程序外COM(EXE型別),內部連結dll,新增方法Method: Add(long *c)  { *c = add(1,2);}編譯生成。  然後註冊COM,*.exe /regserver  最建立一個64位WIN32工程驗證64位環境下方法呼叫是否正確,經驗證正確!!!  結論:以上方法可以解決64位程序呼叫32位dll的問題  32位程序呼叫64位dll應該也可以透過這種方法解決,原因64位windows系統下安裝了32位和64位兩套COM系統

  • 中秋節和大豐收的關聯?
  • 國外小哥發帖稱即將失明,《荒野大鏢客2》將作為最後一款遊戲玩,對此你怎麼看?