64位应用程序与32位进程通信

我有32位应用程序使用32位的第三方库。 现在我必须使我的应用程序64位,以便它可以利用64位地址空间(大内存)。 由于我无法将32位库加载到64位应用程序进程中,因此我正在考虑使用IPC(命名pipe道/套接字)从我的64位应用程序通过第三方库创build32位可执行封装程序。 所以我的问题是他们这样做的问题吗? 另外,如果我必须在64位系统上安装我的应用程序,与我的应用程序相关的所有文件将被复制到“c:\ Program Files”目录。 现在我可以保持我的32位第三方EXE包装在相同的“C:\ Program Files”或我需要复制到“C:\ Program Files文件(x86)”目录?

Solutions Collecting From Web of "64位应用程序与32位进程通信"

这正是微软为这类问题推荐的方式。 如果你正在使用COM,你可以使COM exe服务器。 对于.NET使用WCF。 在你的情况下 – 本地C ++,没有COM – 内存映射文件或管道是一个不错的选择。

关于安装目标文件夹 – 您需要使用用于构建安装包的工具进行测试。 如果整个安装目标是64位,而单个可执行文件是32位 – 则工具可能会显示关于此文件的警告。 执行文件时,无论是在“程序文件”还是“程序文件”(x86)或任何其他目录中都无关紧要。