使 32 位程序在 Windows XP 64 位上运行

使 32 位程序在 Windows XP 64 位上运行

我有一个 Windows XP 64 位版本,所有应用程序都以 32 位运行。

我在运行这些应用程序时遇到了困难。

我怎样才能使它们以 64 位方式工作?

答案1

让应用程序以 64 位应用程序形式运行的唯一方法是编译将它们作为 64 位应用程序运行。除非您这样做,否则它们将以 32 位运行。它们应该可以正常工作,但会具有它们一直以来的大部分相同限制。

有一些方法可以帮助确保代码与 32 位和 64 位处理器兼容。请确保不要进行 int-->pointer 和 pointer-->int 转换,或者过分依赖 int、long 等的大小。

如果你没有原始代码,你就有点麻烦了,必须等待任何人拥有发布 64 位版本应用程序的代码。

答案2

请参阅此文章:http://support.microsoft.com/kb/896456

摘自本文:

WOW64 子系统不支持以下程序:

  • 为 16 位操作系统编译的程序

  • 为 32 位操作系统编译的内核模式程序

答案3

使为 32 位执行编译的应用程序作为 64 位应用程序运行的唯一方法是将源代码重新编译为 64 位可执行文件。

对于仅以 32 位为基础编写的应用程序,自动从 32 位转换到 64 位会产生太多副作用。

答案4

除了获取源代码并自行重建(并非易事)或让供应商为您重建这些,正如其他人所建议的那样。而且由于您可能没有根据您的评论使用过开发...您可能应该只获取虚拟机软件(例如VMware或微软的私有云平台,但我不知道是否提供适用于 Windows XP 64 位的版本)并在其上安装 32 位 Windows 来运行您的应用程序。

相关内容