在 Win7 x64 中运行 32 位应用程序时出现问题

在 Win7 x64 中运行 32 位应用程序时出现问题

原文链接:http://wattsupwiththat.com/2011/02/21/windows-7-64-bit-now-even-suckier/

基本上,他无法让 32 位应用程序在 x64 下运行。他尝试过 XP 兼容模式。

除了购买非常昂贵的 x64 版本之外还有其他选择吗?

答案1

我对 x64 兼容性问题的经验通常归结为一件事:在“任何 CPU”模式下编译的 .Net 软件中的一个错误,它会引入 32 位非托管 dll。

在 x64 系统上运行时,.Net 框架在应用程序启动时尚无所需的信息来知道动态地加载的库需要 32 位模式,因此它会使用 64 位进程启动“任何 CPU”编译的程序。这就是它应该做的。当然,这个 64 位进程以后不能加载 32 位 dll。软件开发人员大约需要 10 秒钟才能将应用程序从“任何 CPU”更改为“x86”,然后重新构建,但您必须说服他们需要这样做。

这实际上是一种非常常见的情况,因为现在很多应用程序(尤其是像视频处理这样为 CPU 密集型任务提供前端的类别)都会使用 .Net 来构建一个 Windows 界面,只需调用用 C 或 C++ 编写的性能更高的库即可。

我记得曾经有过一次讨论(可能是在 MS MVP 之间),讨论过将 Visual Studio 中的默认编译模式从“任何 CPU”更改为“x86”以解决此问题,但我不记得结果如何。

相关内容