X86 vs X64与AnyCPU

时间:2015-01-03 18:48:40

标签: windows visual-studio x86 64-bit

对VS 2008中的X86,X64和AnyCPU配置,与2010年相比有点混淆

问题01

X86 如何在 64位Windows 7,Windows 8 以及64位操作系统的服务器配置计算机中运行?

问题02

X86 vs X64 vs AnyCPU有哪些明显的区别? 任何人都可以分别解释每一个(即X86,X64和AnyCPU),因为我发现的网络资源令人困惑。

2 个答案:

答案 0 :(得分:0)

  

为什么X86可以在64位Windows 7,Windows 8甚至是服务器上运行   配置机器是64位操作系统吗?

由于WoW64(Windows 64位上的Windows)。基本上它是一个32位仿真器,允许您在64位操作系统中运行32位程序。

  

X86 vs X64 vs AnyCPU有哪些明显区别?

X86是32位应用程序的模式,以80x86系列CPU命名。 32位应用程序可以处理4 GB内存。

X64是64位应用程序的模式,它缩短了名称x86-64,它是x86指令集的64位模式。 64位应用程序可以处理18 PB(PB)的内存,这可以转换为所有可用的内存(对于可预见的未来)。

AnyCpu模式允许编译到其他两种模式。

编译模式只是JIT编译器的一条指令,用于说明如何将IL代码编译成机器代码。 IL代码本身对于所有模式都是相同的。

答案 1 :(得分:0)

Q1:64位版本的Windows可以运行32位(x86)和64位应用程序,这就是为什么有两个不同的c:\ Program Files和c:\ Program Files(x86)文件夹到保持为两个可用CPU架构编译的应用程序。

Q2:您设置的目标CPU标志表示构建的编译结果的目标是在选定的CPU架构上运行。在这种情况下,AnyCPU意味着应用程序可以在操作系统的首选32位或64位模式下运行。支持64位模式的系统通常使其成为运行应用程序的首选模式。您希望能够手动选择模式的原因是,如果您使用已为特定体系结构编译的任何组件,则应用程序必须使用与组件相同的体系结构,在这种情况下,组件可能是COM或ActiveX控件。 / p>

相关问题