1. 程式人生 > >編譯型語言解釋型語言

編譯型語言解釋型語言

解釋性語言:用這些語言編寫的程式,省去了編譯期,而是在執行時一邊編譯,一邊執行,在執行某一語句之前,編譯器並不知道該句有沒有語法錯誤,這種語言執行效率比較低。

編譯型語言:只有在編譯完成後才能執行,拿c /c++語言來說,編譯過程有預處理,編譯,彙編,連結這四步,分別作了什麼工作呢?預處理階段將標頭檔案載入到了程式中,並對程式中的一些自定義的巨集進行了替換,還有去註釋等操作。在編譯階段,主要對程式中的語法,詞義檢查是否正確,這一階段將程式轉化成了組合語言,然後在彙編階段,程式將生成的組合語言轉換成了機器語言。連結階段,程式將目的碼和程式執行時需要的資源進行連線轉換成可執行檔案windows下是以.exe檔案結尾,linux下(若不自定義名稱)以.out結尾。之後,就不用編譯該程式了,直接執行可執行檔案就行了。對於

解釋編譯型語言怎麼理解呢?像java這門語言,有編譯階段,但不能說是編譯型語言,因為,他在編譯期並不是將程式編譯成機器語言,而是將程式裝換成了位元組碼,在執行時,他將位元組碼通過java虛擬機器翻譯成了機器語言,然後執行。