當前位置:首頁 » 編程軟體 » 什麼是編譯過程和解釋過程

什麼是編譯過程和解釋過程

發布時間: 2022-06-29 07:54:54

⑴ 什麼是匯編程序,編譯程序,解釋程序分別說明他們的功能

程序按執行方式分為編譯和解釋兩種。
編譯就是將各種語言編寫的程序翻譯成機器語言(二進制)的過程。編譯好程序就是編譯程序。編譯程序在執行時不依靠其它程序,執行速度快。缺點是要對其修改非常麻煩,一般要將其反編譯成高級語言,修改後在編譯,往往一個程序要反復修改的話就非常麻煩。
解釋是程序在執行時外部程序進行翻譯。其特點與編譯相反,是解釋一句執行一句,這樣以來如果有大規模的程序運行會起來比較慢,而且其依靠能對其進行解釋的外部環境;但因為只在運行時才進行解釋,事先無需對整篇程序進行編譯,修改起來就比較方便。
我們非常熟悉c語言、Basic語言等就都提供編譯和解散兩種執行方式,我們可以以解釋的方式對其進行調試、修改,而把定型後的程序整篇進行編譯,以便日後執行。
再說明白些,就像一片英文報告,編譯就是把它整篇翻譯成中文後讓我們來看,解釋就是它一句一句翻譯給我們聽。
匯編語言是一種使用廣泛、功能強大基礎的編程語言(和C語言、basic語言、VC、Java等語言一樣,都是一個編程工具而且),用匯編語言編寫的程序就是匯編程序。

⑵ 程序的編譯過程是怎樣的程序的解釋過程是怎樣的

編譯器首先用掃描程序掃描源代碼,然後用語法分析程序分析得到語法樹,然後經過語義分析、優化處理,最後通過代碼生成程序得到目標代碼的文件。
整個編譯過程就是(掃描-語法分析-語義分析-優化-目標代碼生成)。通常生成的是匯編代碼,機器代碼,可以直接執行,不需要解釋。
而解釋的過程只使用與解釋型語言,這種語言只編譯成一種中間文件,在運行時通過虛擬機讀取中間文件進行解釋運行。這種語言天生速度比較慢,但可以達到所謂的跨平台效果。
如果想深入了解,推薦看一看《編譯原理》,如果只是想大概了解,推薦看一看《編譯原理》的目錄~呵呵

⑶ 編譯執行和解釋執行的區別

一、主體不同

1、編譯執行:由編譯程序將目標代碼一次性編譯成目標程序,再由機器運行目標程序。

2、解釋執行:將源語言直接作為源程序輸入,解釋執行解釋一句後就提交計算機執行一句,並不形成目標程序。

二、優勢不同

1、編譯執行:相比解釋執行編譯執行效率高,佔用資源小,適合復雜程序

2、解釋執行:開發速度快,出現嚴重BUG的幾率小。


三、缺點不同

1、編譯執行:兼容性差,例如在windows平台上寫的編譯程序一般不可以在unix平台上運行。

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


⑷ 編譯和解釋的區別是什麼

程序編譯(compilation , compile)是指利用編譯程序從源語言編寫的源程序產生目標程序的過程。
程序解釋是高級語言翻譯程序的一種,它將源語言書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。

⑸ 編譯和解釋的區別是什麼

1.
編譯(compilation
,
compile)
,利用編譯程序從源語言編寫的源程序產生目標程序的過程。用編譯程序產生目標程序的動作。
編譯就是把高級語言變成計算機可以識別的2進制語言。
2.
解釋直譯語言由解釋器將代碼一句一句運行。
3.
理論上,任何編程語言都可以是編譯式,或直譯式的。它們之間的區別,僅與程序的應用有關。

⑹ 編譯程序和解釋程序有何區別

編譯程序能生成目標程序,而解釋程序不能。

⑺ 請問匯編程序, 解釋程序, 編譯程序分別指

1、匯編程序

把匯編語言書寫的程序翻譯成與之等價的機器語言程序的翻譯程序。匯編程序輸入的是用匯編語言書寫的源程序,輸出的是用機器語言表示的目標程序。匯編語言是為特定計算機或計算機系列設計的一種面向機器的語言,由匯編執行指令和匯編偽指令組成。

採用匯編語言編寫程序雖不如高級程序設計語言簡便、直觀,但是匯編出的目標程序佔用內存較少、運行效率較高,且能直接引用計算機的各種設備資源。它通常用於編寫系統的核心部分程序,或編寫需要耗費大量運行時間和實時性要求較高的程序段。

2、解釋程序

解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。因此,解釋程序並不產生目標程序,這是它和編譯程序的主要區別。

3、編譯程序

編譯程序也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。

它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。

(7)什麼是編譯過程和解釋過程擴展閱讀:

工作過程

1、匯編程序

輸入匯編語言源程序。檢查語法的正確性,如果正確,則將源程序翻譯成等價的二進制或浮動二進制的機器語言程序,並根據用戶的需要輸出源程序和目標程序的對照清單;如果語法有錯,則輸出錯誤信息,指明錯誤的部位、類型和編號。最後,對已匯編出的目標程序進行善後處理。

2、解釋程序

由總控程序完成初始化工作。依次從源程序中取出一條語句進行語法檢查,如有錯,輸出錯誤信息;如果通過了語法檢查,則根據語句翻澤成相應的指令並執行它。檢查源程序是否已經全部解釋執行完畢,如果未完成則繼續解釋並執行下一條語句,直到全部語句都處理完畢。

3、編譯程序

先進行詞法分析與語法分析,然後生成中間代碼,接著對程序進行多種等價變換來代碼優化,最後生成目標代碼。

⑻ 解釋和編譯有什麼區別

一、與計算機的交流方式不同

1、解釋程序不產生目標代碼,它逐條地取出源程序中的語句,邊解釋,邊執行;解釋器把源代碼文件邊解釋成機器語言邊交給CPU執行。

三、開發便捷性

1、解釋程序可以隨時修改,立刻生效,改完源代碼後,直接運行看效果

2、編譯程序每次修改源代碼,都要重新編譯,生成機器碼文件

四、運行速度

1、解釋程序運行效率低,所有的代碼均需經過解釋器邊解釋變執行,速度比編譯型慢很多

2、編譯程序執行速度快,因為你的程序代碼已經翻譯成了是計算機可以理解的機器語言。

⑼ 編譯和解釋程序都是什麼

編譯(compilation , compile)
1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。

2、用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。 編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。

解釋執行

1.解釋執行不依賴於平台,因為編譯器會根據不同的平台進行解析。例如JS語言無論在windows平台還是在unix平台都可以使用。故可移植性強.
2.使用解釋執行的程序我們一般稱為解釋程序。它將源語言直接作為源程序輸入,解釋執行解釋一句後就提交計算機執行一句,並不形成目標程序。如在終端上打一條
命令或語句,解釋程序就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。這種工
作方式非常適合於人通過終端設備與計算機會話.

直接點吧,編譯執行就是先將程序翻譯成機器代碼,以後運行的都是機器代碼.解釋執行就是,代碼跟著走,每運行一次,編譯一次.解釋執行也分為兩種,一種是執行一句,編譯一句,一種是編譯完全部代碼,再執行.

⑽ 程序的編譯過程和解釋過程是怎樣的

【編譯程序】:把用高級程序設計語言書寫的源程序,翻譯成等價的計算機匯編語言或機器語言的目標程序的翻譯程序。
【解釋程序】:對源程序邊解釋翻譯成機器代碼邊執行的高級語言程序。
高級語言的程序的執行的途徑:
1)源程序(高級語言)->【編譯程序】->目標程序(匯編語言)->【匯編程序】->目標程序(機器語言)->計算結果
2)源程序(高級語言)->【編譯程序】->目標程序(機器語言)->計算結果
3)源程序(高級語言)->【解釋程序】(逐條讀出源程序中的語句並解釋執行,即在解釋程序的執行過程中並不產生目標程序)->計算結果

熱點內容
sql按小時分組 發布:2024-05-05 13:26:25 瀏覽:94
張藝謀我們一家訪問人 發布:2024-05-05 12:38:05 瀏覽:111
美版安卓系統怎麼安裝 發布:2024-05-05 12:37:18 瀏覽:920
qq郵箱緩存地址 發布:2024-05-05 12:37:16 瀏覽:986
電位演算法 發布:2024-05-05 12:36:01 瀏覽:727
我的世界清風斗羅大陸伺服器地址 發布:2024-05-05 12:35:50 瀏覽:453
dell伺服器如何進入bios 發布:2024-05-05 12:34:26 瀏覽:330
在線名片製作源碼 發布:2024-05-05 12:29:27 瀏覽:447
陰陽師按鍵腳本 發布:2024-05-05 12:00:33 瀏覽:760
魔獸查腳本 發布:2024-05-05 11:54:37 瀏覽:39