什么时候需要使用x86或x64目标平台?

时间:2018-06-20 14:42:47

标签: c# .net x86 64-bit anycpu

我研究了有关在Visual Studio中使用不同目标平台选项构建应用程序的信息,但是我仍然不明白以下内容:

何时需要设置x86或x64目标?
与设置“任何CPU”相比,设置特定的目标平台(x86或x64)有什么优势?
总是设置“任何CPU”是否更容易?

1 个答案:

答案 0 :(得分:2)

到目前为止,platfrom目标中有三个选项。 x86,x64,任何CPU。更复杂的是,有一个复选框“ Prefer 32bit”。

在开发应用程序时,必须确保其任何CPU已启用禁用32位首选,以实现最大兼容性。

但是有时您将使用本机调用来屏蔽特定的API(例如:您正在调用32位本机dll)。然后启用任何CPU将在64位操作系统中将您的应用程序作为64位进程运行。这将在运行时引入异常。您应该针对x86平台。对于64位本机调用程序也是如此,您应该将其仅定位为x64。

让我们看看为什么有首选32位。 Windows具有一种称为ARM的新目标类型(自引入 Preferred 32bit 之日起,Windows 8 ARM 32bit)。启用此选项并选择任何CPU 。编译为x86的.NET应用程序将无法在ARM Windows系统上运行,但“任何CPU 32位首选”应用程序将成功运行。

由于没有人使用Windows 8 ARM,因此前进禁用首选32位。 Windows 10 ARM已解决此问题。