解釋執行的語言相比編譯執行的語言有什麼優缺點?

        程序有語句或指令組成,計算機只能執行低級語言中的指令(彙編語言的指令要先轉成機器碼才能執行),

高教語言要執行就必須翻譯成低級語言,翻譯的方法有兩種:編譯和解釋,雖然有這樣的不便,但高級語言有一個

好處就是平臺無關性。平臺這個詞有很多種解釋,可以指計算機體系結構(Architecture),也可以指操作系統(Operating

System),也可以指開發平臺(編譯器、鏈接器等)。不同的計算機體系結構有不同的指令集(Instruction Set),可以識別的機

器指令格式是不同的,直接用某種體系結構的彙編或機器指令寫出來的程序只能在這種體系結構的計算機上運行,然而各種體系結

構的計算機都有各自的C編譯器,可以把C程序編譯成各種不同體系結構的機器指令,這意味着用C語言寫的程序只需稍加修改甚至

不用修改就可以在各種不同的計算機上編譯運行。

 

解釋執行的語言:

優點:

1.解釋執行不依賴於平臺,因爲編譯器會根據不同的平臺進行解析

2.開發速度快,出現嚴重BUG的機率小

缺點:

1.解析需要時間,不生成目標而是一句一句的執行的方式會造成計算機資源的浪費,即執行效率低。

2.解釋語言還有一個硬傷就是源代碼必須交給用戶

 

編譯執行的語言:

優點:

1.相比解釋執行編譯執行效率高,佔用資源小,適合複雜程序。

缺點:

兼容性差,例如windows平臺上寫的編譯程序一般不可以unix平臺上運行。當然,如果只是簡單的scanf,printf是可以的,但是像指針,內存分配,文件操作,多線程等,在一些相對複雜的系統問題就嚴重了。 更可怕的是拿源碼到unix環境下編譯通過了,但是運行卻出問題,這種問題最要人命。 所以一般的做法都是這個程序會用在什麼系統,就到什麼系統環境去開發。

 

 

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