编译程序和解释程序有哪些区别?
編譯程序,解釋程序,匯編程序是3種語言處理程序。其區別主要為:
匯編程序(為低級服務)是將匯編語言書寫的源程序翻譯成由機器指令和其他信息組成的目標程序。
解釋程序(為高級服務)直接執行源程序或源程序的內部形式,一般是讀一句源程序,翻譯一句,執行一句,不產生目標代碼,如BASIC解釋程序。
編譯程序(為高級服務)是將高級語言書寫的源程序翻譯成與之等價的低級語言的目標程序。編譯程序與解釋程序最大的區別之一在于前者生成目標代碼,而后者不生成;此外,前者產生的目標代碼的執行速度比解釋程序的執行速度要快;后者人機交互好,適于初學者使用。用COBOL,FORTRAN等語言編寫的程序考慮到執行速度一般都是編譯執行。
解釋:程序運行時,取一條指令,將其換化為機器指令,再執行這條機器指令。
編譯:程序運行時之前,將程序的代碼編譯成機器代碼,再運行這個程序。
計算機并不能直接的接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過”翻譯程序“翻譯成機器語言形式和解釋方式。
編譯方式是指利用事先編好的一個稱為編譯程序的機器語言程序,作為系統軟件的存放在計算機內,當用戶將高級語言編寫的源程序輸入計算機后,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序,然后計算機再執行該目標程序,以完成源程序要處理的運算并取得結果。
解釋方式是指源程序進入計算機后,解釋程序邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,并不產生目標程序。如PASCAL,FORTRAN,COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL,C語言是能書寫編譯程序的高級程序設計語言。
簡單的說,編譯就是全文翻譯,全部翻譯完才執行。解釋就相當于同聲翻譯,邊翻譯邊執行。
總結
以上是生活随笔為你收集整理的编译程序和解释程序有哪些区别?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 400
- 下一篇: 图像的通道(channels)问题