編譯執行與解釋執行的區別

原文鏈接:https://blog.csdn.net/hongsheng6353328/article/details/80463434

今天在看到一篇關於分層編譯優化的文章時,看到了解釋執行與編譯執行兩個專業詞彙,看着熟悉,但不甚理解,然後在網上搜索了一下,說一下自己的理解。

    對於我們平時寫的代碼,一般計算機是沒辦法直接識別的,需要相應的編譯器將其編譯層機器代碼(一些計算機可以直接識別的二進制代碼),機器才能執行。

    

    編譯執行,顧名思義,要先編譯再執行,這裏需要有一個編譯器,來將我們的代碼全部編譯成機器代碼,然後進行執行。因爲先整體進行編譯,所以這裏會生成編譯後的機器代碼。

    解釋執行,則是需要一個解釋器,它會將我們的一句句解釋成機器代碼來執行,可以認爲是,解釋一句,執行一句。在這個過程中,不會生成中間文件。

    通過對比發現,編譯執行,只需要編譯一次,多次運行。而解釋執行的話,沒運行一次程序,都要經過解釋器的解釋過程。

   

     針對優缺點,可以從以下幾個方面分析。

    從啓動效率來看,解釋執行不需要進行編譯操作,而編譯執行,要經過編譯過程。解釋執行啓動速度更快。

    從運行效率來看,因爲編譯執行只需要編譯一次,以後再運行就無需編譯,而解釋執行每次都要經過解釋過程,所以編譯執行效率更高。

    從內存使用方面來看,編譯執行需要生成編譯後的機器碼文件,而解釋執行時逐句解釋執行,所以解釋執行對內存佔用更少。

    從跨平臺的角度來看,因爲解釋執行每次可以根據不同的平臺進行解釋,例如js在linux和windows都可以運行,而C語言在windows下編譯後的文件,只能在windows下才行執行。

     對於大型項目來說,比較注重運行效率,核心代碼一般都是採用編譯執行的語言。而對於一些簡單的操作,可以考慮使用解釋執行的語言。
————————————————
版權聲明:本文爲CSDN博主「想當廚子的程序員」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/hongsheng6353328/article/details/80463434

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章