本文介绍了“首选32位”功能的目的是什么?在Visual Studio中设置,它实际上如何工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

它是我不清楚编译器在需要时如何自动知道要针对64位进行编译。

It is unclear to me how the compiler will automatically know to compile for 64-bit when it needs to. How does it know when it can confidently target 32-bit?

我主要是想知道编译器在编译时如何知道要针对哪种体系结构。

I am mainly curious about how the compiler knows which architecture to target when compiling. Does it analyze the code and make a decision based on what it finds?

推荐答案

Microsoft是否有博客条目 AnyCPU在.NET 4.5和Visual Studio 11中的真正含义

Microsoft has a blog entry What AnyCPU Really Means As Of .NET 4.5 and Visual Studio 11:


  • 如果进程运行在一个32位Windows系统,它作为32位进程运行。 IL被编译为x86机器代码。

  • 如果该进程在64位Windows系统上运行,则它将作为32位进程运行。 IL被编译为x86机器代码。

  • 如果该进程在ARM Windows系统上运行,则它将作为32位进程运行。 IL被编译为ARM机器代码。

然后,任何CPU 32位首选和 x86仅是
:编译为x86的.NET应用程序将无法在
ARM Windows系统上运行,但是任何CPU 32位首选应用程序将成功运行

这篇关于“首选32位”功能的目的是什么?在Visual Studio中设置,它实际上如何工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 16:06