我有 2 个使用全局 Hook 的应用程序,它是为 Windows 10(64 位)构建的。一个是 32 位的,另一个是 64 位的。我能够将它们编译成 2 个独立工作的独立 exe 文件。但由于它们具有相同的代码,我希望将它们编译成一个 exe 文件,以满足它的 32 位和 64 位职责。我可以使用 Visual Studio 或其他方式做到这一点吗?
最佳答案
Windows PE EXE 格式不支持单个二进制文件中的多个 CPU 架构。
SysInternals 工具将 64 位 .exe 作为资源嵌入到 32 位可执行文件中,如果 IsWow64Process
则提取并运行它。是真的。如果您选择这种技术,您还必须考虑到最近的 ARM64 机器是 Wow64,但只能模拟 32 位 x86 应用程序。
注意:Windows Server Core 可以在没有 Wow64 支持的情况下安装,如果您支持这些系统,您还必须分发 64 位二进制文件。
关于c++ - 将 32 位和 64 位应用程序(使用相同的代码)编译成一个 exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49576037/