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

2021-06-22 16:29:52 字數 890 閱讀 1639

a、解釋程式   

所謂解釋程式是高階語言翻譯程式的一種,它將源語言(如basic)書寫的源程式作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。這種工作方式非常適合於人通過終端裝置與計算機會話,如在終端上打一條命令或語句,解釋程式就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。這的確是很方便的,很適合於一些小型機的計算問題。但解釋程式執行速度很慢,例如源程式中出現迴圈,則解釋程式也重複地解釋並提交執行這一組語句,這就造成很大浪費。

b、編譯程式

這是一類很重要的語言處理程式,它把高階語言(如fortran、cobol、pascal、c等)源程式作為輸入,進行翻譯轉換,產生出機器語言的目標程式,然後再讓計算機去執行這個目標程式,得到計算結果。編譯程式工作時,先分析,後綜合,從而得到目標程式。所謂分析,是指詞法分析和語法分析;所謂綜合是指**優化,儲存分配和**生成。為了完成這些分析綜合任務,編譯程式採用對源程式進行多次掃瞄的辦法,每次掃瞄集中完成一項或幾項任務,也有一項任務分散到幾次掃瞄去完成的。下面舉乙個四遍掃瞄的例子:第一遍掃瞄做詞法分析;第二遍掃瞄做語法分析;第三遍掃瞄做**優化和儲存分配;第四遍掃瞄做**生成。

值得一提的是,大多數的編譯程式直接產生機器語言的目標**,形成可執行的目標檔案,但也有的編譯程式則先產生組合語言一級的符號**檔案,然後再呼叫匯程式設計序進行翻譯加工處理,最後產生可執行的機器語言目標檔案。

在實際應用中,對於需要經常使用的有大量計算的大型題目,採用招待速度較快的編譯型的高階語言較好,雖然編譯過程本身較為複雜,但一旦形成目標檔案,以後可多次使用。相反,對於小型題目或計算簡單不太費機時的題目,則多選用解釋型的會話式高階語言,如basic,這樣可以大大縮短程式設計及除錯的時間。

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

a 解釋程式 所謂解釋程式是高階語言翻譯程式的一種,它將源語言 如basic 書寫的源程式作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的 口譯 一樣,說一句翻一句,不產生全文的翻譯文字。這種工作方式非常適合於人通過終端裝置與計算機會話,如在終端上打一條命令或語句,解釋程...

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

a 解釋程式 所謂解釋程式是高階語言翻譯程式的一種,它將源語言 如basic 書寫的源程式作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的 口譯 一樣,說一句翻一句,不產生全文的翻譯文字。這種工作方式非常適合於人通過終端裝置與計算機會話,如在終端上打一條 命令或語句,解釋...

編譯執行和解釋執行以及轉義字元

編譯執行 以c語言為例 在寫好乙個.c檔案後運用編譯器對它進行編譯,編譯的過程並不執行程式而是把源 全部翻譯成機器指令,再加上一些描述資訊生成乙個新的檔案例如a.out即可執行檔案。可執行檔案可以被作業系統載入執行,計算機執行該檔案中由編譯器生成的指令。解釋執行 將每行 當做一條命令解釋執行,而不需...