.NET虚拟机是否编译CIL字节码(然后在最低级别执行代码 - CPU汇编程序),还是解释器(读取以下指令并执行它们)?.NET VM是编译器还是解释器?
回答
请问.NET的Virtual Machine 编译CIL字节码(然后 执行最低级的代码 - CPU汇编)
是的,这是CLR的组件调用JIT(即时编译)将中间语言代码(由编程语言的编译器发出)转换为机器代码。
动态语言中没有解释器,比如Ruby,PHP,Python。
UPDATE:
如由于除了在.net 4 DLR由@Nick Craver评论中指出带来的CLR使用动态语言概念的可能性。
我不清楚答案的第二部分,因为在.Net 4中添加DLR,我可能是错的......但我认为这个陈述需要围绕它的一些注意事项。 – 2010-07-18 11:49:01
@尼克关于DLR的好处。 – 2010-07-18 11:52:56
.NET框架和.NET Compact框架都可以进行JIT编译。 .NET Micro框架使用解释(http://en.wikipedia.org/wiki/.NET_Micro_Framework)。 – Steven 2010-07-18 12:04:08
- 1. 是javascript解释还是jit编译
- 2. Clojure是编译还是解释?
- 3. ETL是解释还是编译语言
- 4. Java编译器/解释器
- 5. JAVA:解释器还是编译器? Java的文件扩展名?如何执行?
- 6. php是编译语言还是解释语言?
- 7. 是解释还是编译的DBMS(MySQL,SQL Server ...)?
- 8. QMetaObject编译器解释?
- 9. python编译器包解释
- 10. Python是否使用编译器或解释器或组合?
- 11. 什么是最好的Scheme解释器或编译器?
- 12. 什么是Perl 5的可用编译器/解释器?
- 13. 正则表达式应该在解析器中用于解释器还是编译器?
- 14. 飞镖编译器疯了,还是我?
- 15. RUBY中的编译器和解释器
- 16. 是我的PHP解释器发疯了,还是我是谁?
- 17. 您是否使用过任何C++解释器(不是编译器)?
- 18. 是否有绕过编译的Java解释器?
- 19. 解析器,解释器和编译器上的学习资源
- 20. 汇编器,解释器和编译器的图像?
- 21. 什么是一个好的C#编译器 - 编译器/解析器生成器?
- 22. python vm是否每次编译方法?
- 23. 用Clang编译Ruby和Python解释器?
- 24. 解释特定的编译器警告
- 25. 检查编译器是gcc/mingw还是VC++ cl的标志?
- 26. “临时对象”警告 - 是我还是编译器?
- 27. Prolog编译器.Net
- 28. 资源学习如何为.NET框架创建编译器/解释器
- 29. Smalltalk解释器编辑器
- 30. libxml2是DOM解析器还是串行解析器?
我问了一个关于Java虚拟机的类似问题。似乎可以是一个或另一个,或者甚至两个。 – umlcat 2012-06-19 17:40:44