Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是;首选32位“;Visual Studio(C#,VB)的编译器标志的含义?_C#_Vb.net_Compiler Flags_Visual Studio 2012 - Fatal编程技术网

什么是;首选32位“;Visual Studio(C#,VB)的编译器标志的含义?

什么是;首选32位“;Visual Studio(C#,VB)的编译器标志的含义?,c#,vb.net,compiler-flags,visual-studio-2012,C#,Vb.net,Compiler Flags,Visual Studio 2012,刚刚安装了VisualStudio11开发者预览版。在使用指定的AnyCPU目标编译托管(C#,VB)应用程序时,我在项目属性中看到一个名为“首选32位”的新选项。这似乎不是类库的选项,只是顶级应用 此标志表示什么?它可能表示该应用程序是任意CPU,但当32位可用时,它应按此方式运行。这是有道理的——64位应用程序使用更多的内存,有时你根本不需要内存空间;) 编辑: 使用“任意CPU 32位首选”编译的应用程序与x86、x64和ARM兼容,而x86仅与x86、x64兼容,而不与ARM兼容。有关详

刚刚安装了VisualStudio11开发者预览版。在使用指定的AnyCPU目标编译托管(C#,VB)应用程序时,我在项目属性中看到一个名为“首选32位”的新选项。这似乎不是类库的选项,只是顶级应用


此标志表示什么?

它可能表示该应用程序是任意CPU,但当32位可用时,它应按此方式运行。这是有道理的——64位应用程序使用更多的内存,有时你根本不需要内存空间;)

编辑:
使用“任意CPU 32位首选”编译的应用程序与x86、x64和ARM兼容,而x86仅与x86、x64兼容,而不与ARM兼容。有关详细信息,请参阅。

上有一篇好文章

对您的问题的简短回答是“当使用这种风格的AnyCPU时,语义如下所示:

如果进程在32位Windows系统上运行,它将作为32位进程运行。IL将编译为x86机器代码。 如果进程在64位Windows系统上运行,它将作为32位进程运行。IL将编译为x86机器代码。 如果进程在ARM Windows系统上运行,它将作为32位进程运行。IL将编译为ARM机器代码。
因此,“任何CPU 32位首选”和“x86”之间的区别仅在于:编译为x86的.NET应用程序将无法在ARM Windows系统上运行,但“任何CPU 32位首选”应用程序将成功运行。

以下是正确而简单的答案:


64位应用程序也无法使用“编辑并继续”进行调试。设置“首选32位”有望使x64用户能够再次调试在任何CPU上运行的应用程序,而无需将目标设置为x86/32位编译。这不是正确答案。请参阅,为什么不将其作为答案发布;-)@LexLi是正确的,这个答案是错误的,从他们链接的文章来看,“如果进程在64位Windows系统上运行,它将作为32位进程运行。IL被编译为x86机器代码。”,“任何CPU 32位首选”和“x86”之间的差异仅此而已:编译为x86的.NET应用程序将无法在ARM Windows系统上运行,但“任何CPU 32位首选”应用程序将成功运行。“你应该参考这篇文章,@DaveInCaz的可能副本:它怎么可能是新问题的副本?”根据StackOverflow指南,@IvanH,“一般规则是保留问题的最佳答案集”这不是文章所说的。请重新阅读:
x86编译的.NET应用程序将无法在ARM Windows系统上运行,但“任何32位CPU都是首选的”应用程序将成功运行。
感谢您的反馈,答案已更改。您答案的内容是正确的,但我很好奇,为什么您删除了原始文章中的漂亮项目符号列表格式?