我有使用 32 位第三方库的 32 位应用程序。现在我必须将我的应用程序设为 64 位,以便它可以利用 64 位地址空间(大内存)。
由于我无法将 32 位库加载到 64 位应用程序进程中,因此我正在考虑在第三方库上创建 32 位可执行包装器,并使用 IPC(名为管道/套接字)从我的 64 位应用程序进行通信。
所以我的问题是他们这样做有什么问题吗?
此外,如果我必须在 64 位系统上安装我的应用程序,与我的应用程序相关的所有文件都将复制到“c:\Program Files”目录。现在我可以将 32 位第三方 exe 包装程序保留在同一个“c:\Program Files”中,还是需要复制到“c:\Program Files(x86)”目录?
这正是 Microsoft 针对此类问题建议的方法。如果您使用 COM,则可以创建 COM exe 服务器。对于.NET,请使用WCF。在您的情况下 - 本机 C++,没有 COM - 内存映射文件或管道是一个不错的选择。
关于安装目标文件夹 - 您需要使用用于构建安装包的工具对此进行测试。如果整个安装目标是 64 位,并且单个可执行文件是 32 位 - 该工具可能会显示有关此文件的警告。当文件被执行时,无论它是在 Program Files 还是 Program Files (x86),或者任何其他目录中,都无关紧要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)