确保为32位Windows编写的程序与64位Windows兼容

虽然我的理解是,没有根本原因为32位硬件/操作系统编写的程序不能在64位硬件/操作系统上运行,但实际上,我发现许多程序用于32位版本的 Windows,不会在64位版本的Windows上工作.例子包括许多受欢迎的安全公用事业(大多数产品来自诺顿和Check Point的Zone Alarm)和几款游戏(我一直在试图让侠盗猎车手4运行几个星期,但无济于事 – 当然,这可能与任何与GTA4相关的其他问题有任何关系,但这并不在此处.

我听说程序的不兼容性可能是由于不想从“Program Files(x86)”文件夹运行的简单,但是还有其他一些原因呢?为什么为32位系统编写的病毒扫描程序或防火墙不能在64位系统上运行?当一切理论上向后兼容时,为什么游戏不能运行?

在这里提供了最好的解释,其中基本上说,32位程序运行在一个仿真层上,不允许从64位环境中运行的本机程序获得系统访问权限:

http://blogs.msdn.com/oldnewthing/archive/2008/12/22/9244582.aspx

我会假设这意味着像GTA4这样的程序出现的问题来自仿真层,不会产生32位本地系统上发现的预期结果.这就是为什么你一直看到Microsoft发行兼容性更新的原因.

以下是MSDN对此事的看法:

http://msdn.microsoft.com/en-us/library/bb427430(VS.85).aspx

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...