【发布时间】:2010-06-04 09:36:29
【问题描述】:
有什么方法可以编译一个 EXE 文件,以便它可以在 x86 和 x64 中本地运行?比如:编译两个代码库并将它们打包成一个可执行文件。
我知道 .NET 代码可以在“任何 cpu”模式下运行,但这不是我想要的。
【问题讨论】:
有什么方法可以编译一个 EXE 文件,以便它可以在 x86 和 x64 中本地运行?比如:编译两个代码库并将它们打包成一个可执行文件。
我知道 .NET 代码可以在“任何 cpu”模式下运行,但这不是我想要的。
【问题讨论】:
32 位可执行文件将在 32 位和 x64 Windows 机器上本地运行。在 32 位 PE 文件中执行 x64 的唯一方法是使用 undocumented gate,我高度怀疑有人在实践中使用它,因为它高度依赖于版本(并且未记录) .
然后你再做一次,这样 32 位二进制文件将执行 64 位版本的二进制文件,如果检测到 64 位 CPU 则退出...
【讨论】:
您可以采用 Process Explorer 方法。在您的 32 位二进制文件中嵌入 64 位二进制文件作为资源。如果 32 位二进制文件在 64 位机器上启动,请提取 64 位二进制文件并启动它。
【讨论】: