为什么在虚拟机上执行代码时,为不同的CPU体系结构(x86和ARM)提供了独立版本的Windows(Windows 8和RT),可以将字节码转换为体系结构特定的指令? 例如,Android基于在JVM上执行的Java,这就是为什么有ARM和Intel CPU的智能手机具有完全兼容性。什么原因微软没有这样做?.NET CLR和CPU体系结构依赖关系
1
A
回答
1
为什么在代码在可以将字节码转换为体系结构特定指令的虚拟机上执行代码时,针对不同的CPU体系结构(x86和ARM),Windows有不同的版本(Windows 8和RT)?
在x86版本的Windows 8上,并非所有代码都在虚拟机上执行。桌面模式应用程序以完整的x86或x64进程运行。这就是说,我相信这里的一部分目标是有意限制和更改这些设备上的API,而不是提供全面的支持。 .NET框架中有许多类型和方法是为“桌面”或“服务器”应用程序设计的。虽然(理论上)可以通过翻译本地指令来实现这些工作,但总体架构并不适合这些设备。
提供一个新的API和Windows 8(和Windows Phone 8)专用的单独“框架”允许框架将自己限制为适当的API--适当的延迟(无同步方法),功耗或其他类似的问题。
即便如此,便携式类库也尝试为大多数“纯粹”逻辑程序集创造桥梁。使用PCL可以编写一个可在Windows 8上使用的程序集,包括桌面和RT,手机等。
相关问题
- 1. 类依赖关系和层次结构
- 2. 三层体系结构中的SQL依赖关系和SignalR
- 3. 结构图 - 具有依赖关系的安装依赖关系
- 4. Mercurial,依赖关系,存储库结构
- 5. 依赖关系的nuget依赖关系
- 6. 实体依赖关系Symfony2
- 7. C程序对CPU和操作系统的依赖关系
- 8. Cordova构建和gradle依赖关系
- 9. 重构和依赖关系问题
- 10. 依赖关系
- 11. spark和httpclient依赖关系
- 12. Teamviewer和依赖关系
- 13. MakeFiles和依赖关系
- 14. Leiningen和Clojure依赖关系
- 15. Android - MultipartEntity和依赖关系
- 16. Subversion和依赖关系
- 17. maven和red5依赖关系
- 18. Maven和db4o依赖关系
- 19. 三层体系结构:必须避免层之间的异常依赖关系?
- 20. 针对具有ABI分割的特定体系结构的Gradle依赖关系
- 21. 使用内置依赖关系构建
- 22. NetBeans中的Maven项目:如何向“依赖关系”和“测试依赖关系”添加依赖关系?
- 23. iMX31依赖关系?
- 24. tools.jar依赖关系
- 25. Jira依赖关系
- 26. Maven依赖关系
- 27. WildFly依赖关系
- 28. Python依赖关系?
- 29. DLL依赖关系
- 30. asyntasks依赖关系