gpt4 book ai didi

c++ - 我们可以创建一个 VC++ 可执行文件,它可以在 32 位和 64 位 Windows 上本地运行吗?

转载 作者:可可西里 更新时间:2023-11-01 18:18:06 25 4
gpt4 key购买 nike

有什么方法可以构建 VC++ 项目,以便它创建的 dll/exe 在 32 位 Windows 操作系统上作为 32 位应用程序工作,在 64 位 Windows 操作系统上作为 64 位应用程序工作(不是在 WOW64 中).

我知道对于使用/ANYCPU 选项的 C# 应用程序来说这是可能的。

最佳答案

CLR 对/ANYCPU 选项有特殊的加载器支持。

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

  1. 为 32 位和 64 位构建二进制文件
  2. 作为构建 32 位二进制文​​件的一部分,包括 64 位二进制文​​件作为资源
  3. 在 32 位机器上,只运行 32 位二进制文​​件
  4. 在 64 位机器上,当 32 位二进制文​​件运行时,解压 64 位二进制资源,将其写入磁盘,然后从那里运行

这就是 Sysinternals 的方式工具工作(将 Process Explorer 下载到 64 位机器上并运行它:您会看到它将 procexp64.exe 写入磁盘,然后从那里运行它)。这是一个 hack,但它有效。

关于c++ - 我们可以创建一个 VC++ 可执行文件,它可以在 32 位和 64 位 Windows 上本地运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3590880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com