【问题标题】:X86 vs X64 vs AnyCPU [closed]X86 vs X64 vs AnyCPU [关闭]
【发布时间】:2015-01-03 18:48:40
【问题描述】:

对 VS 2008 和 2010 中的 X86、X64 和 AnyCPU 配置有点困惑

问题 01

X86怎么能在64位windows 7、windows 8甚至是64位操作系统的服务器配置机器上工作?

问题 02

X86 vs X64 vs AnyCPU 有什么明显的区别? 由于我发现的网络资源令人困惑,任何人都可以分别解释清楚(即X86、X64和AnyCPU)。

【问题讨论】:

  • 每个问题一个问题,请。这就是为什么它们被称为问题。
  • @LightnessRacesinOrbit- 我添加的评论是与第一个问题相关的问题,而不是一遍又一遍地重复问题,我已经在我自己的问题中发布了这里。我希望你也会明白这一点。
  • 我的意思是,你在这个问题中提出了两个问题,都用粗体标记为“问题”,“问题01”和“问题 02”,你不应该那样做。
  • @LightnessRacesinOrbit 我要说的是同样的事情,“问题 01”和“问题 02”也与同一主题有关,我不喜欢将问题重复到 2 个问题中,我已经提出像这样可以清楚地理解其他读者的问题并得到一些明确的答案,这是主要原因,没有别的
  • 谁说过重复问题?请写每个问题一个问题。没有例外。这不是聊天室或论坛:它是问答库。

标签: windows visual-studio x86 64-bit


【解决方案1】:

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 代码本身对于所有模式都是相同的。

【讨论】:

  • 以上所有答案都可以,但是当您添加 anycpu 来运行应用程序时。在 Windows 7 或 Windows 8 或服务器版本的操作系统上,它失败了,但更改为 x86 在所有提到的操作系统中的 3 个上运行。有人会如何解释发生这种情况。需要更多说明。
  • @Sanjeewa:那么您的应用程序中有一些东西在 64 位模式下无法运行。通过选择 x86 模式,您将阻止编译为 64 位代码,因此您可以规避问题。
  • @Guffa 是的,x86 确实是这样工作的,但我指的是 "anycpu" 模式。为什么它不能在 win7、win 8 64 位操作系统中运行,因为它允许编译到两种模式中的每一种,只有当我输入 x86 时它才能工作但不是 "anycpu" 模式
  • @Sanjeewa:使用AnyCpu 意味着它将在可用时编译为 64 位,否则为 32 位。您的应用程序碰巧在 64 位模式下失败的事实不是 JIT 编译器知道的任何事情,因此它无法考虑到这一点。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2011-07-08
    • 2017-06-20
    相关资源
    最近更新 更多