当前位置: 首页 > 编程语言 > C#

32位.NET应用程序和64位.NET应用程序之间有区别吗?分享

时间:2023-04-10 16:11:12 C#

32位.NET应用程序和64位.NET应用程序之间有区别吗?我的理解是.NET应用程序是独立于平台的,因此纯.NET代码应该在x86或64位机器上运行。除非您的.NET代码调用某些本机代码,否则它是平台相关的。真的吗?.NET应用程序可以编译为目标x86、x64或“两者”。通常,如果您依赖COM控件等在其他平台上不可用,则您只针对一个平台。您的代码可以编译为完全独立于平台,或者您可以针对特定平台。标准建议是使库架构中立(即“任何CPU”)并为可执行文件定位x86。VisualStudio2010默认采用此方法的原因解释如下:AnyCPU可执行文件往往比其价值更麻烦:以两种截然不同的模式(x64和x86)运行会增加产品复杂性和测试成本。无论如何,32位往往(稍微)更快。某些功能在x64中不可用。如果超过4GB的地址空间有用,那么正确的做法是只针对x64并避免支持两种平台的成本。当然,如果您只针对x86,您的代码仍将通过WoW64在x64上运行。是的,你说的是真的。纯.NET代码与平台无关(VisualStudio中的“任何CPU”),除非使用外部库(据我所知,COM和P/Invokes)。然后,您的平台必须与用于构建外部库的平台相匹配。文章回归基础:围绕x86与x64和.NETFramework和CLR的32位与64位混淆很好地解释了这些差异。以上是C#学习教程:32位.NET应用和64位.NET应用有区别吗?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: