.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