解釋程序和編譯程序可以共存嗎
① 編譯程序和解釋程序均能產生目標程序嗎
不能
因為:編譯程序能產生目標程序而解釋程序則不能
補充:解釋程序也稱為解釋器,它或者直接解釋執行源程序,或者將源程序翻譯成某種中間表示形式後再加以執行;編譯程序(編譯器)則是將源程序翻譯成目標語言程序,然後在計算機上運行目標程序。兩種語言處理程序的根本區別是:在編譯方式下,機器上運行的是與源程序等價的目標程序,源程序和編譯程序都不再參與目標程序的執行過程,而在解釋方式下,解釋程序和源程序(或某種等價表示)要參與到程序的運行過程中,運行程序的控制權在解釋程序。解釋器翻譯源程序時不生成獨立的目標程序,而編譯器則將源程序翻譯成獨立的目標程序。
② 請問編譯程序和解釋程序是什麼意思什麼是編譯器、什麼是解釋器
編譯和解釋是從源程序到可執行程序轉換的兩種方法。編譯,是在源程序完成後,先轉換成中間代碼,然後再轉換成二進制代碼,完成後,每次執行,都直接執行這個二進制代碼。一次轉換完成。
而解釋程序的執行不同,他在執行時,是一次讀入一條源代碼,然後分析轉換成二進制代碼,執行這條語句,然後再讀入一條源代碼,再轉換,再執行。是一邊轉換一邊執行。編譯器和解釋器就是完成編譯和解釋工作的一個軟體。
③ 下列是關於解釋程序和編譯程序的敘述,正確的是( )
B編譯程序能產生目標程序,而解釋程序不能
④ c語言既可以編譯執行又可以解釋執行嗎 編譯執行怎麼解釋 解釋執行又怎麼解釋
C 語言程序僅可以解釋執行。
解釋程序是將源程序(如BASIC)作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。編譯程序是把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機執行這個目標程序,得到計算結果。
相對於編譯性語言,其優點是可移植性好,只要有解釋器環境,程序就可以在不同的操作系統上運行。

缺點是代碼需要有專門的解釋器,在程序運行時,除要給用戶程序本身分配內存空間外,解釋器也佔用系統資源,所以其運行速度較慢。另外,也很難達到像C、C++那樣操作系統底層操作的目的。
解釋型語言常用於,一是對運行速度要求不高(如一些網頁腳本等)的場合,二是對跨平台(操作系統的兼容性)有要求的場合。
(4)解釋程序和編譯程序可以共存嗎擴展閱讀
1、python和Java語言,專門有一個解釋器能夠直接執行Python程序,每個語句都是執行的時候才翻譯。
2、Python代碼在運行前,會先編譯成中間代碼,每個 .py 文件將被換轉成pyc 文件,pyc 就是一種位元組碼文件,它是與平台無關的中間代碼。不管放在 Windows 還是 Linux 平台都可以執行,運行時將由虛擬機逐行把位元組碼翻譯成目標代碼。
⑤ c語言和python兩種編譯器可以共存嗎
可以的,兩個編程語言的編譯器不沖突的。
C語言的邊編譯器可以使用visual studio 2008 / 2010 / 2012等。
python 編譯器直接網路搜索 python去官網即可下載。
其實, 不僅僅是這兩種語言,包括其他語言,也都可以安裝在同一電腦上的。
甚至可以說, 同一語言的不同版本也是可以共存的(比如C語言編譯器可以同時安裝 Visual studio 2008 和 Visual studio 2012)。
望採納, 謝謝。
⑥ 編譯程序 與 解釋程序
通常,將高級語言程序翻譯成機器語言程序的軟體稱為翻譯程序。翻譯程序有兩種:一種是編譯程序,另一種是解釋程序。編譯程序是將用戶編寫的高級語言程序(源程序)的全部語句一次全部翻譯成機器語言程序,而後再執行機器語言程序。因此,只要源程序不變,就無須再次進行翻譯。例如,FORTRAN、PASCAL等語言就是用編譯程序來完成翻譯的。解釋程序是將源程序的一條語句翻譯成對應於機器語言的一條語句,並且立即執行這條語句,接著翻譯源程序的下一條語句,並執行這條語句,如此重復直至完成源程序的全部翻譯任務。它的特點是翻譯一次執行一次,即使下一次重復執行該語句時,也必須重新翻譯。例如,BASIC語言的翻譯就有解釋程序和編譯程序兩種。
⑦ 下面是關於解釋程序和編譯程序的敘述,正確的是()
C、D
解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。因此,解釋程序並不產生目標程序,這是它和編譯程序的主要區別。
解釋程序它逐條地取出源程序中的語句,邊解釋,邊執行。編譯的話就是只要編譯一次,下次再執行就不用再解釋了。

(7)解釋程序和編譯程序可以共存嗎擴展閱讀:
解釋程序的工作方式非常適於人通過終端設備與計算機會話,如在終端上打一條命令或語句,解釋程序就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。
這的確是很方便的,很適合於一些小型機的計算問題。但解釋程序執行速度很慢,例如源程序中出現循環,則解釋程序也重復地解釋並提交執行這一組語句,這就造成很大浪費。
對源程序邊解釋翻譯成機器代碼邊執行的高級語言程序。所以,解釋程序的功能是:解釋執行高級語言程序。由於它的方便性和交互性較好,早期一些高級語言採用這種方式,如BASIC、dBASE。但它的弱點是運行效率低,程序的運行依賴於開發環境,不能直接在操作系統下運行。
網路-解釋程序
⑧ 請解釋翻譯程序和編譯程序及二者之間的關系。
解釋程序所謂解釋程序是高級語言翻譯程序的一種,它將源語言(如BASIC)書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。這種工作方式非常適合於人通過終端設備與計算機會話,如在終端上打一條命令或語句,解釋程序就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。這的確是很方便的,很適合於一些小型機的計算問題。但解釋程序執行速度很慢,例如源程序中出現循環,則解釋程序也重復地解釋並提交執行這一組語句,這就造成很大浪費。
編譯程序這是一類很重要的語言處理程序,它把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機去執行這個目標程序,得到計算結果。編譯程序工作時,先分析,後綜合,從而得到目標程序。所謂分析,是指詞法分析和語法分析;所謂綜合是指代碼優化,存儲分配和代碼生成。為了完成這些分析綜合任務,編譯程序採用對源程序進行多次掃描的辦法,每次掃描集中完成一項或幾項任務,也有一項任務分散到幾次掃描去完成的。下面舉一個四遍掃描的例子:第一遍掃描做詞法分析;第二遍掃描做語法分析;第三遍掃描做代碼優化和存儲分配;第四遍掃描做代碼生成。值得一提的是,大多數的編譯程序直接產生機器語言的目標代碼,形成可執行的目標文件,但也有的編譯程序則先產生匯編語言一級的符號代碼文件,然後再調用匯編程序進行翻譯加工處理,最後產生可執行的機器語言目標文件。在實際應用中,對於需要經常使用的有大量計算的大型題目,採用招待速度較快的編譯型的高級語言較好,雖然編譯過程本身較為復雜,但一旦形成目標文件,以後可多次使用。相反,對於小型題目或計算簡單不太費機時的題目,則多選用解釋型的會話式高級語言,如BASIC,這樣可以大大縮短編程及調試的時間
⑨ 為什麼高級語言中存在編譯和解釋兩種編譯方式
編譯方式:事先編好的一個叫做編譯程序的機器語言程序放在計算機中。當高級語言編的源程序輸入計算機時,編譯程序就把源程序自動整個地翻譯成用機器指令表示的目標程序。
解釋方式:事先編好的一個叫做解釋程序的機器語言程序放在計算機中,當高級語言源程序輸入計算機後,解釋程序自動地逐句翻譯源程序,譯一句執行一句。
因此往往需要特定的平台,由於程序執行的是編譯好的二進制文件,這種編譯一旦完成,那麼就只能在特定平台上運行了:編譯是指將源語言轉化為目標計算機的可執行二進制代碼兩者互有優劣,因此速度比較快(相對下面的解釋)。
解釋方式:事先編好的一個叫做解釋程序的機器語言程序放在計算機中,當高級語言源程序輸入計算機後,解釋程序自動地逐句翻譯源程序,譯一句執行一句。 可以這么理解,編譯的結果是另外一種語言,而解釋的就是一種中間語言。
⑩ 急!!!!!!!!解釋程序與編譯程序有什麼區別,各舉例!!!!!!
編譯程序和解釋程序2006年10月16日
星期一
14:26如果一個程序能夠把某一種語言程序(稱為源語言程序)改造成為另一種語言程序(稱為目標語言程序),則這親戚的程序稱為「翻譯程序」。如果源語言是「高級語言」(諸如FORTRAN、PASCAL等等),而目標語言是「低級語言」(如匯編語言或機器語言),則這樣的翻譯程序稱為「編譯程序」。
現在的計算機尚不能直接執行高級語言程序。執行一個高級語言程序大體上要分兩步:第一步,把高級語言的源程序編譯成低級語言的目標程序;第二步,運行這個目標程序。編譯程序的典型工作過程是:輸入源程序,對它進行加工處理,輸出目標程序。加工處理是非常復雜的過程,它又可劃分成以下幾個階段:源程序→詞法分析→語法分析→產生中間代碼→優化→目標代碼生成→目標程序。
第一階段是詞法分析。承擔詞法分析任務的程序稱為「掃描器」。詞法分析的任務是:對構成源程序的字元串進行掃描和分解。第二階段是語法分析。承擔語法分析任務的程序稱為「分析器」。語法分析的任務是:根據語法規則,把描掃器所提供的結果分析成各類語法范疇。第三階段是產生中間代碼。承擔產生中間代碼任務的程序稱為「中間代碼產生器」。其任務是:按照語法分析器所識別出的語法范疇,產生相應的中間指令。第四階段是優化,即代碼優化。優化的任務是對前階段產生的中間代碼進行加工變換,以便使生成的目標程序,能運行得更快更省(省內存)。第五階段是目標代碼生成。這一階段的任務是:按照優化後的中間代碼和其它有關信息生成目標程序。這種目標程序可以在計算機上直接執行。執行這個目標程序,就可得到一個高級語言程序的結果。
我們知道,所謂翻譯程序是這樣一種程序,它能夠把用甲語言寫的程序翻譯成與之等價的用乙語言寫的程序。這里的甲語言是該翻譯程序的源語言,而乙語言則為該翻譯程序的目標語言。對於編譯程序而言,源程序是被加工的對象,而目標程序是加工後的結果。
在計算機上執行用某種高級語言寫的源程序,通常有兩種方式:一是編譯執行方式,二是解釋執行方式。
採用編譯執行方式執行源程序時要分兩大步:編譯和運行。編譯中的加工處理過程又可分為五個階段。
解釋執行方式與編譯執行方式是不同的,其根本區別在於:編譯方式把源程序的執行過程嚴格地分成兩大步:編譯和運行。即先把源程序全部翻譯成目標代碼,然後再運行此目標代碼,獲執行結果。解釋方式則不然。它是按照源程序中語句的動態順序,直接地逐句進行分析解釋,並立即執行。所以,解釋程序是這樣一種程序,它能夠按照源程序中語句的動態順序,逐句地分析解釋並執行,直至源程序結束。
與編譯程序一樣,解釋程序也與源語言及計算機有關。同一台計算機上不同語言的解釋程序是不同的;同一種語言在不同的計算機上的解釋程序也可能不同。同一種高級語言的源程序,它可以採用解釋執行方式,也可以採用編譯執行方式。例如,BASIC語言有解釋BASIC和編譯BASIC之分。前者執行速度慢;後者執行速度快。編譯程序和解釋程序都屬於系統程序。
