我有32位應用程序使用32位第三方庫。現在我必須使我的應用程序爲64位,以便它可以利用64位地址空間(大內存)。 既然不能32位的庫加載到64位應用程序,我想創造過第三方庫的32位可執行文件的包裝和使用IPC(命名管道/插座)我的64位應用程序進行通信。 所以我的問題是他們在這樣做的任何問題? 另外,如果我必須在64位系統上安裝我的應用程序,與我的應用程序相關的所有文件將被複制到「c:\ Program Files」目錄。現在我可以保留我的32位第三方exe包裝在相同的「c:\ Program Files」或我需要複製到「c:\ Program Files(x86)」目錄?64位應用程序與32位進程通信
3
A
回答
3
這正是Microsoft爲這類問題推薦的方式。如果你正在使用COM,你可以使COM exe服務器。對於.NET使用WCF。在你的情況下 - 本機C++,沒有COM - 內存映射文件或管道是一個不錯的選擇。
關於安裝目標文件夾 - 您需要使用用於構建安裝包的工具進行測試。如果整個安裝目標是64位,而單個可執行文件是32位 - 則該工具可能會顯示關於此文件的警告。當執行文件,這不要緊,無論是在程序文件或程序文件(x86)或任何其他目錄。
相關問題
- 1. 在.NET中,32位進程如何與64位進程通信?
- 2. 64位庫,應該與32位和64位進程工作
- 3. iOS 32與64位應用程序
- 4. 64位OS/32位進程
- 5. 32位/ 64位Windows/Linux應用程序
- 6. 如何使用32位進程查找64位進程信息
- 7. 64位應用程序開始32位進程
- 8. 從32位應用程序啓動64位進程?
- 9. 從32位應用程序啓動64位應用程序?
- 10. 在Centos中鏈接64位應用程序與32位庫5.6 64位
- 11. Xcode:編譯與32位庫的64位應用程序
- 12. win32com.client.Dispatch()32-64位程序
- 13. 從Excel應用程序對象中查找位(32位/ 64位)?
- 14. 64位程序集的32位指令
- 15. 通過COM在64位進程中使用32位DLL
- 16. Windows x64上的32位和64位應用程序之間的進程間通信
- 17. 啓動64位進程修改32位和64位.NET machine.config中
- 18. 如何從32位或64位進程啓動64位PowerShell進程?
- 19. 如何確定進程ID(PID)是32位還是64位應用程序?
- 20. 如何使32位VB6應用程序適應64位Office?
- 21. Outlook 64位使用從32位應用程序的64位兌換
- 22. 如何單一應用二進制支持64位和32位應用程序
- 23. 將數據從32位應用程序傳遞到64位應用程序?
- 24. 32位.NET應用程序和64位.NET應用程序有區別嗎?
- 25. 從32位應用程序啓動「不相關」的64位應用程序
- 26. 如何從32位C++應用程序啓動64位Java應用程序?
- 27. 如何在64位應用程序中使用win 32位dll
- 28. 在64位應用程序中使用32位庫
- 29. 適用於32位和64位平臺的Java應用程序
- 30. 32位C#應用程序如何利用64位DLL
共用存儲器(經由存儲器映射文件)可能是用於數據最快的選項。 32位和64位之間 –
@AlexeyFrunze共享存儲器似乎可疑我:「當使用共享存儲器,請注意,在一個32位的處理的結構可具有比相同的結構不同的尺寸和佈局中一個64-對於包含指針或句柄的結構尤其如此。「 http://msdn.microsoft.com/en-us/library/windows/desktop/ee872017(v=vs.85).aspx – ToolmakerSteve