当 e。 G。创建 Windows Phone 应用程序时,我必须选择 x86 在模拟器中进行调试,并选择 ARM 在手机上进行调试。那当然是因为我的电脑运行的是 x86(具体来说是 x64,但 x64 处理器仅在寄存器长度上有所不同(如果我错了,请纠正我)),而我的手机有一个 ARM 处理器。但与 C++ 不同的是,C# 不是直接编译成汇编程序,而是编译成某种中间语言。所以我的问题是:为什么这种中间语言对于不同的平台有所不同。重写解释中间语言的虚拟机还不够吗?例如Java 可以在 Mac、PC 等上运行,无需针对每个平台进行编译。
你只是一直做错了。无论平台选择如何,IL 都是完全相同的。
当您在 Visual Studio 2013 中创建新的电话项目时,您会得到一个解决方案:three平台选择:AnyCPU、x86 和 ARM。后两者在纯 .NET 项目中是多余的。它们存在的唯一原因是 Phone 还支持本机 C++ 项目。目标架构在哪里does这很重要,因为 C++ 直接编译为机器代码。
在纯 .NET 项目中,您只需要 AnyCPU。当然,这个名字非常恰当;)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)