Windows 32位应用程序如何在64位操作系统上运行?
在里克特的《通过CSharp的CLR》一书中,有一个下表解释了以不同方式构建的应用程序如何在Windows上的不同版本上运行。它说,使用x86平台交换机构建的应用程序将作为WoW64应用程序在64位操作系统上运行,这是非常好的,但它也告诉我们,使用anycpu32bitpreferred交换机,它将作为32位应用程序运行。所以问题是32位应用程序如何在64位操作系统上运行,而不是作为WoW64Windows 32位应用程序如何在64位操作系统上运行?,windows,32bit-64bit,wow64,Windows,32bit 64bit,Wow64,在里克特的《通过CSharp的CLR》一书中,有一个下表解释了以不同方式构建的应用程序如何在Windows上的不同版本上运行。它说,使用x86平台交换机构建的应用程序将作为WoW64应用程序在64位操作系统上运行,这是非常好的,但它也告诉我们,使用anycpu32bitpreferred交换机,它将作为32位应用程序运行。所以问题是32位应用程序如何在64位操作系统上运行,而不是作为WoW64 这是一个打字错误。本书勘误表中提到: 第10页,表1-2,第二行,x64 Windows列 读取:作为
这是一个打字错误。本书勘误表中提到: 第10页,表1-2,第二行,x64 Windows列 读取:作为32位应用程序运行 应为:作为WoW64应用程序运行 更正日期:2013年3月8日
我认为这是表中的一个输入错误(anycpu32bitpreferred和x64的交叉点处的“作为32位应用程序运行”应为“作为WoW64应用程序运行”)。同样,它也可以是另一种方式(“作为WoW64应用程序运行”可以是“作为32位应用程序运行”,因为在x64上运行32位应用程序的方式是WoW64,因此说“作为32位”已经意味着使用WoW)。该表已经过时,Windows RT已经失效,并且64位ARM平台缺少一列。在ARM上,32位应用程序总是需要wow64模拟器。否则,添加“首选32位”选项的原因是,在ARM设备上针对x86没有多大意义。