1樓:凡筱雲
1.定義區別
①編譯原理旨在介紹編譯程式構造的一般原理和基本方法。內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間**生成、儲存管理、**優化和目標**生成。
②組合語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可程式設計器件的低階語言,亦稱為符號語言。
2.處理方式區別
①編譯過程與解釋挺像,區別就在於編譯是將所有的源**指令一次性成翻目標**並執行。
②彙編過程就是把彙編指令一對一地翻譯成01機器碼的過程。而採用這種處理方式的語言只有一類:組合語言。
3.特點區別
①編譯語言的特點就是不需要直譯器的參與,所以執行比較快,但是編譯好的程式只能在當前平臺執行,是個侷限性。
②組合語言是當今世界上歷史最早,應用最廣,功能最強大,執行速度最快的程式語言。但是組合語言開發工期長,可讀性差,並且不能跨平臺程式設計。
2樓:鈔瓊習幻玉
編譯就是通過ide把**變成exe,dll等可執行檔案,解釋是什麼?註釋嗎?註釋的話就是對一段**做個說明,以後改程式的時候方便,還有就是多人開發專案時,方便別人
3樓:匿名使用者
編譯:生成目標**
從編譯到執行是兩個完全不同的階段
效率高不支援互動
解釋:不生成目標**
解釋執行是一個階段
效率不高
支援互動
4樓:衷瑜南宮文茵
程式編譯(compilation
,compile)是指利用編譯程式從源語言編寫的源程式產生目標程式的過程。
程式解釋是高階語言翻譯程式的一種,它將源語言書寫的源程式作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程式。
5樓:匿名使用者
簡單,舉個例子
解釋就像邊吃飯,邊喝湯。
編譯就像吃過飯了,再喝湯。
解釋執行一句就能看到一句效果。
而編譯是把全部的語句執行完,才能看到結果。
6樓:匿名使用者
編譯(compilation , compile)1、利用編譯程式從源語言編寫的源程式產生目標程式的過程。
2、用編譯程式產生目標程式的動作。
編譯就是把高階語言變成計算機可以識別的2進位制語言,計算機只認識1和0,編譯程式把人們熟悉的語言換成2進位制的。
組合語言中,用助記符(memoni)代替操作碼,用地址符號(symbol)或標號(label)代替地址碼。這樣用符號代替機器語言的二進位制碼,就把機器語言變成了組合語言。於是組合語言亦稱為符號語言。
用組合語言編寫的程式,機器不能直接識別,要由一種程式將組合語言翻譯成機器語言,這種起翻譯作用的程式叫彙編程式,彙編程式是系統軟體中語言處理的系統軟體。彙編程式把組合語言翻譯成機器語言的過程稱為彙編。
編譯程式和解釋程式有何區別
7樓:之何勿思
編譯程式能生成目標程式,而解釋程式不能。
補充:1、編譯程式是整體編譯完了,再一次性執行。
2、而解釋程式是一邊解釋,一邊執行。 解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。
3、編譯器是把源程式的每一條語句都編譯成機器語言,並儲存成二進位制檔案,這樣執行時計算機可以直接以機器語言來執行此程式,速度很快。
4、而直譯器則是隻在執行程式時,才一條一條的解釋成機器語言給計算機來執行,所以執行速度是不如編譯後的程式執行的快的。這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進位制的形式)
8樓:匿名使用者
編譯程式是整體編譯完了,再一次性執行。
而解釋程式是一邊解釋,一邊執行。 解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。
9樓:安徽新華電腦專修學院
編譯就是把高階語言變成計算機可以識別的2進位制語言, 是對整個寫好的程式進行翻譯。 最終形成目標檔案
解釋程式, 是一句一句翻譯的, 最終不形成目標檔案
彙編程式? 你指的 是組合語言寫的程式嗎? 彙編程式一般指編譯生成與之等價的 機器語言
10樓:匿名使用者
計算機並不能直接地接受和執行用高階語言編寫的源程式,源程式在輸入計算機時,通過"翻譯程式"翻譯成機器語言形式的目標程式,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。編譯方式是指利用事先編好的一個稱為編譯程式的機器語言程式,作為系統軟體存放在計算機內,當使用者將高階語言編寫的源程式輸入計算機後,編譯程式便把源程式整個地翻譯成用機器語言表示的與之等價的目標程式,然後計算機再執行該目標程式,以完成源程式要處理的運算並取得結果。
解釋方式是指源程式進入計算機後,解釋程式邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程式。如pascal、fortran、cobol等高階語言執行編譯方式;basic語言則以執行解釋方式為主;而pascal、c語言是能書寫編譯程式的高階程式設計語言。
編譯程式、解釋程式、彙編程式是3種語言處理程式。其區別主要為:彙編程式(為低階服務)是將組合語言書寫的源程式翻譯成由機器指令和其他資訊組成的目標程式。
解釋程式(為高階服務)直接執行源程式或源程式的內部形式,一般是讀一句源程式,翻譯一句,執行一句,不產生目標**,如basic解釋程式。編譯程式(為高階服務)是將高階語言書寫的源程式翻譯成與之等價的低階語言的目標程式。編譯程式與解釋程式最大的區別之一在於前者生成目標**,而後者不生成;此外,前者產生的目標**的執行速度比解釋程式的執行速度要快;後者人機互動好,適於初學者使用。
用cobol、fortran等語言編寫的程式考慮到執行速度一般都是編譯執行。
編譯程式和解釋程式有何區別?
11樓:之何勿思
編譯程式能生成目標程式,而解釋程式不能。
補充:1、編譯程式是整體編譯完了,再一次性執行。
2、而解釋程式是一邊解釋,一邊執行。 解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。
3、編譯器是把源程式的每一條語句都編譯成機器語言,並儲存成二進位制檔案,這樣執行時計算機可以直接以機器語言來執行此程式,速度很快。
4、而直譯器則是隻在執行程式時,才一條一條的解釋成機器語言給計算機來執行,所以執行速度是不如編譯後的程式執行的快的。這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進位制的形式)
12樓:貿富貴班香
說一句翻一句。就像外語翻譯中的「口譯」一樣。
而解釋程式是一邊解釋,並不形成目標程式,再一次性執行。
解釋一句後就提交計算機執行一句,一邊執行編譯程式是整體編譯完了,不產生全文的翻譯文字
13樓:冀秀英永裳
計算機並不能直接地接受和執行用高階語言編寫的源程式,源程式在輸入計算機時,通過"翻譯程式"翻譯成機器語言形式的目標程式,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。編譯方式是指利用事先編好的一個稱為編譯程式的機器語言程式,作為系統軟體存放在計算機內,當使用者將高階語言編寫的源程式輸入計算機後,編譯程式便把源程式整個地翻譯成用機器語言表示的與之等價的目標程式,然後計算機再執行該目標程式,以完成源程式要處理的運算並取得結果。
解釋方式是指源程式進入計算機後,解釋程式邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程式。如pascal、fortran、cobol等高階語言執行編譯方式;basic語言則以執行解釋方式為主;而pascal、c語言是能書寫編譯程式的高階程式設計語言。
編譯程式、解釋程式、彙編程式是3種語言處理程式。其區別主要為:彙編程式(為低階服務)是將組合語言書寫的源程式翻譯成由機器指令和其他資訊組成的目標程式。
解釋程式(為高階服務)直接執行源程式或源程式的內部形式,一般是讀一句源程式,翻譯一句,執行一句,不產生目標**,如basic解釋程式。編譯程式(為高階服務)是將高階語言書寫的源程式翻譯成與之等價的低階語言的目標程式。編譯程式與解釋程式最大的區別之一在於前者生成目標**,而後者不生成;此外,前者產生的目標**的執行速度比解釋程式的執行速度要快;後者人機互動好,適於初學者使用。
用cobol、fortran等語言編寫的程式考慮到執行速度一般都是編譯執行。
14樓:匿名使用者
編譯程式就是把用高階語言編寫的程序導向的源程式翻譯成目標程式的語言處理程式。簡單說就是翻譯成計算機能識別的2進位制。
解釋程式由一個總控程式和若干個執行子程式組成。解釋程式的工作過程如下:首先,由總控程式執行初始準備工作,置工作初態;然後,從源程式中取一個語句s,並進行語法檢查。
如果語法有錯,則輸出錯誤資訊;否則,根據所確定的語句型別轉去執行相應的執行子程式。返回後檢查解釋工作是否完成,如果未完成,則繼續解釋下一語句;否則,進行必要的善後處理工作。
解釋執行方式與編譯執行方式是不同的,其根本區別在於:編譯方式把源程式的執行過程嚴格地分成兩大步:編譯和執行。
即先把源程式全部翻譯成目標**,然後再執行此目標**,獲執行結果。解釋方式則不然。它是按照源程式中語句的動態順序,直接地逐句進行分析解釋,並立即執行。
所以,解釋程式是這樣一種程式,它能夠按照源程式中語句的動態順序,逐句地分析解釋並執行,直至源程式結束。
與編譯程式一樣,解釋程式也與源語言及計算機有關。同一臺計算機上不同語言的解釋程式是不同的;同一種語言在不同的計算機上的解釋程式也可能不同。同一種高階語言的源程式,它可以採用解釋執行方式,也可以採用編譯執行方式。
例如,basic語言有解釋basic和編譯basic之分。前者執行速度慢;後者執行速度快。編譯程式和解釋程式都屬於系統程式。
所以都是在做處理。
15樓:匿名使用者
編譯程式將源程式翻譯成目標程式,而解釋程式是逐條解釋執行源程式語句
16樓:益堂允玉韻
編譯程式是整體編譯完了,再一次性執行。
而解釋程式是一邊解釋,一邊執行。
解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。
急!!!!!!!!解釋程式與編譯程式有什麼區別,各舉例!!!!!!
17樓:窩窩裡的豬
編譯程式和解釋程式2023年10月16日 星期一 14:26如果一個程式能夠把某一種語言程式(稱為源語言程式)改造成為另一種語言程式(稱為目標語言程式),則這親戚的程式稱為「翻譯程式」。如果源語言是「高階語言」(諸如fortran、pascal等等),而目標語言是「低階語言」(如組合語言或機器語言),則這樣的翻譯程式稱為「編譯程式」。
現在的計算機尚不能直接執行高階語言程式。執行一個高階語言程式大體上要分兩步:第一步,把高階語言的源程式編譯成低階語言的目標程式;第二步,執行這個目標程式。
編譯程式的典型工作過程是:輸入源程式,對它進行加工處理,輸出目標程式。加工處理是非常複雜的過程,它又可劃分成以下幾個階段:
源程式→詞法分析→語法分析→產生中間**→優化→目標**生成→目標程式。
第一階段是詞法分析。承擔詞法分析任務的程式稱為「掃描器」。詞法分析的任務是:
對構成源程式的字串進行掃描和分解。第二階段是語法分析。承擔語法分析任務的程式稱為「分析器」。
語法分析的任務是:根據語法規則,把描掃器所提供的結果分析成各類語法範疇。第三階段是產生中間**。
承擔產生中間**任務的程式稱為「中間**產生器」。其任務是:按照語法分析器所識別出的語法範疇,產生相應的中間指令。
第四階段是優化,即**優化。優化的任務是對前階段產生的中間**進行加工變換,以便使生成的目標程式,能執行得更快更省(省記憶體)。第五階段是目標**生成。
這一階段的任務是:按照優化後的中間**和其它有關資訊生成目標程式。這種目標程式可以在計算機上直接執行。
執行這個目標程式,就可得到一個高階語言程式的結果。 我們知道,所謂翻譯程式是這樣一種程式,它能夠把用甲語言寫的程式翻譯成與之等價的用乙語言寫的程式。這裡的甲語言是該翻譯程式的源語言,而乙語言則為該翻譯程式的目標語言。
對於編譯程式而言,源程式是被加工的物件,而目標程式是加工後的結果。
在計算機上執行用某種高階語言寫的源程式,通常有兩種方式:一是編譯執行方式,二是解釋執行方式。
採用編譯執行方式執行源程式時要分兩大步:編譯和執行。編譯中的加工處理過程又可分為五個階段。
解釋執行方式與編譯執行方式是不同的,其根本區別在於:編譯方式把源程式的執行過程嚴格地分成兩大步:編譯和執行。
即先把源程式全部翻譯成目標**,然後再執行此目標**,獲執行結果。解釋方式則不然。它是按照源程式中語句的動態順序,直接地逐句進行分析解釋,並立即執行。
所以,解釋程式是這樣一種程式,它能夠按照源程式中語句的動態順序,逐句地分析解釋並執行,直至源程式結束。
與編譯程式一樣,解釋程式也與源語言及計算機有關。同一臺計算機上不同語言的解釋程式是不同的;同一種語言在不同的計算機上的解釋程式也可能不同。同一種高階語言的源程式,它可以採用解釋執行方式,也可以採用編譯執行方式。
例如,basic語言有解釋basic和編譯basic之分。前者執行速度慢;後者執行速度快。編譯程式和解釋程式都屬於系統程式。
請簡述解釋性程式語言和編譯性程式語言的區別
對於語言本身復來說,各種程式語言制本質沒什麼不同。所謂的 解釋性 和 編譯 指的是執行機制上的不同。解釋性語言是指它常用的執行機制是使用一個 直譯器 來執行,直譯器對於程式是一句一句 翻譯 成機器語言來執行,例如shell指令碼語言。編譯型語言是指它常用的執行機制是使用一個 編譯器 來編譯成機器語言...
蘋果系統和windows系統的區別
蘋果的東西好 火星探測都用的蘋果,圖形處理方面沒人能比 先進 理念和創新 蘋果的系統好用,根本不象微軟的系統,操作那麼複雜,漏洞那麼多,簡單易學 由於80年代後期,蘋果在戰略決策上的失誤導致90年代的下滑,所以才有了windows 80年代到90年代初期,電腦的系統幾乎全是蘋果的 90年代是電腦軟體...
LDW系統和LKA系統的區別
1 意義不同 lka是車道保持,ldw是車道偏離預警。2 作用不同 兩者雖然作用都是讓車輛行駛在主車車道上避免發生意外,但是lka是帶控制的,即eps自動輕微修正角度,當認為干預扭力達到一定值就退出lka狀態。而ldw是偏離預警,只是預警,具體控制打方向盤或打轉向燈都由駕駛員操作。3 應用場景不同 ...