簡要說一下.Net的編譯過程.


看面試題的時候遇到這樣一道題目,簡要說明.NET的編譯過程,在網上看了很多資料,簡單總結如下:

 

1、一般的編譯過程

通常高級語言的程序編譯過程是:首先寫好的程序是源代碼,然后編譯器編譯為本地機器語言,最后在本地操作系統運行。

 

 2、.NET程序的編譯與之類似:首先編寫好的源代碼,然后編譯為微軟中間語言代碼,運行的時候即時編譯為本地機器語言,同時.NET代碼運行時有一個CLR(運行時)環境來管理程序;

 

 總結:

一般的高級程序語言會直接將代碼編譯成機器語言(二進制語言),之后由本地機執行這些機器語言從而實現編譯過程 

.NET的編譯機制會在中間多一個環節,就是先將高級語言(如C#、VB)編譯成中間語言(IL)然后再將中間語言(IL)通過CLR(公共語言運行)轉換為機器語言,之后由本地機執行這些機器語言從而實現編譯過程

最終的二進制代碼(機器語言)被存儲在一個緩沖區中。所以一旦程序使用了相同的代碼,那么將會調用緩沖區中的版本。這樣的話,如果一個.Net程序第二次被運行,那么就不需要進行第二次編譯,速度明顯加快。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM