【问题标题】:How to make Msvc++ express 2010 application compatible to 64bit machines?如何使 Ms Vc++ express 2010 应用程序兼容 64 位机器?
【发布时间】:2010-12-27 20:29:59
【问题描述】:

我在浏览网页时发现我的应用程序会 可能不适用于(win)64 位机器。这是由于事实 MSVC 使用我的默认 32 位运行时并将应用程序设置为仅工作 在 32 位机器上。

如何设置我的简单应用程序以在 x86 机器上运行?从而制作64位机器 执行我的应用程序时使用 WoW64?

我正在使用 MS Visual Studio 2010 Express(目前有点短)。

【问题讨论】:

  • 注意:应用程序使用两个 32 位 dll。

标签: visual-studio-2010 visual-c++ win64


【解决方案1】:

32 位应用程序可以在 Win64 操作系统上运行。

如果您的应用程序需要访问“真正的”system32 目录或某些注册表项,您可能需要做一些特殊的事情。但是,绝大多数 32 位应用程序不需要处理这个问题(有些可能包括文件管理器或注册表编辑器)。事实上,重定向是由 Microsoft 专门设置的,以便重定向有助于应用程序的兼容性。

但是,如果您的应用程序需要特殊的设备驱动程序 - 必须为 64 位平台构建(同样,这种情况非常罕见)。

您应该在 64 位平台上测试您的应用程序,但一般情况下它应该可以正常工作。

【讨论】:

  • 我不需要将msvc设置为x86平台吗?如果有,在哪里?
  • Express 只会构建 32 位应用程序,因此您无需特别指定 32 位平台。
  • 我正在使用 libcurl。他们有一个用于 32 位机器的 dll 和一个用于 64 位机器的 dll。会是这样吗?
  • 您将使用 32 位 DLL。请注意,有一些方法可以通过安装 Windows SDK(它为您提供 64 位编译器)来让 Express 构建 64 位,但我不确定您将如何执行配置(您可能需要使用makefile 构建配置)。我会先测试 32 位版本是否可以正常工作,然后开始考虑让基于 SDK 的 64 位版本正常工作。
  • 谢谢迈克尔,真的很有帮助!
猜你喜欢
  • 2010-12-24
  • 2020-03-26
  • 2019-06-28
  • 2015-01-06
  • 1970-01-01
  • 2011-12-03
  • 1970-01-01
  • 2014-11-02
  • 2015-08-23
相关资源
最近更新 更多