我们可以创建一个VC可执行文件,它可以在32位和64位Windows上本机工作吗?

有没有办法构建一个VC项目,以便它创建的dll / exe将作为32位Windows操作系统上的32位应用程序和64位Windows操作系统(不是WOW64)上的64位应用程序.

我知道使用/ ANYCPU选项的C#应用​​程序是可能的.

最佳答案
CLR为/ ANYCPU选项提供特殊的加载程序支持.

如果你真的想为本地人做这件事,最好的方法是:

>为32位和64位构建二进制文件
>作为构建32位二进制文​​件的一部分,请将64位二进制文​​件包含为资源
>在32位计算机上,只需运行32位二进制文​​件
>在64位计算机上,当32位二进制文​​件运行时,解压缩64位二进制资源,将其写入磁盘,然后从那里运行它

这就是Sysinternals工具的工作方式(将Process Explorer下载到64位计算机上并运行它:您将看到它将procexp64.exe写入磁盘,然后从那里运行它).这是一个黑客,但它的工作原理.

转载注明原文:我们可以创建一个VC可执行文件,它可以在32位和64位Windows上本机工作吗? - 代码日志