程序語言,編譯?解釋?

  相信學計算機的人都應該學過不止一種程序語言,不少時候,極可能是兩種,或者三種,甚至有人4種5種,固然,大部分人都知道它們是編譯型的或者是解釋型的,可是有多少人去了解過他們各自的優缺點?我也正如那大部分人同樣,知道這是什麼類型的語言,不過也不多去真正瞭解過它們!翻譯

    那麼什麼是解釋型語言?什麼是編譯型語言?htm

    你們都知道,計算機是不能直接理解高級語言的,只能直接理解機器語言,因此必需要把高級語言翻譯成機器語言,計算機才能執行高級語言編寫的程序,而翻譯的方式有兩種,一種編譯,另外一種就是解釋,二者翻譯的時間不一樣!開發

    編譯型語言寫的程序在執行以前,須要一個專門的編譯過程,把程序編譯成機器語言的文件,好比將hello.c文件進行預處理,編譯,彙編和連接,最終生成可執行代碼文件,這樣之後再次運行的時候,就能夠直接使用編譯的結果(即exe文件)!get

    解釋型語言不須要編譯,省了道工序,解釋型語言是在運行程序的時候才翻譯的,須要一個專門的解釋器可以執行解釋型語言寫的程序,每一個語句都是執行的時候才進行翻譯的!產品

  原文連接:http://www.gbtags.com/gb/share/6308.htm編譯

編譯型語言的優勢:

        1:由於能夠直接使用編譯的結果而不須要再次翻譯,因此執行的效率是比較高的!效率

        2:編譯程序將源程序翻譯成目標程序後保存在另外一個文件中,該目標程序能夠脫離編譯程序直接在計算機上屢次使用,大部分軟件產品都是以目標程序形勢發行給用戶的,不只便於直接執行,並且又使得他人難以盜用期中的技術!軟件

編譯型語言的缺點:

        1:編譯執行的語言由於要直接同CPU的指令集打交道,具備很強的指令依賴性和系統依賴性!硬件

        2:編譯後的程序是由機器語言指令構成的,可是使用不一樣硬件平臺的計算機,它們的機器語言是不一樣的,使得便宜過的程序不 能順利從一個計算機平臺往另一個平臺上移植,所以在不一樣的平臺上每每須要從新編譯甚至重寫程序,這將會耗費大量的人力物力財力!語法

解釋型語言的優勢:

        1:通常狀況下,只要有相應版本的語言解釋器,解釋型語言所寫的程序能夠幾乎不作任何修改地移植到其餘平臺上去,這相對於編譯型語言來講,是個極大的優點!

        2:解釋型語言所寫的程序是逐行進行翻譯執行命令的,所以當語句出現語法問題的時候,能夠當即引發程序猿的注意,而程序猿在程序開發期間就能進行校訂!

解釋型語言的缺點:

         1:解釋型語言的實現中,翻譯器並不產生目標機器代碼,而是產生易於執行的中間代碼,可是這種中間代碼與機器代碼不一樣,中間代碼的解釋是由軟件支持的,不能直接使用硬件,軟件解釋器一般會致使執行效率較低,而且每執行一次就得再翻譯一次,不能像編譯型語言那樣,一次編譯,任意次使用,於是效率方便沒有編譯型的高!

  原文連接:http://www.gbtags.com/gb/share/6308.htm

相關文章
相關標籤/搜索