編譯系統和解釋系統的不同之處是
A. 解釋和編譯的區別
解釋和編譯的區別:與計算機的交流方式不同、運行環境不同、開發便捷性、運行速度。
1、與計算機的交流方式不同
解釋程序不產生目標代碼,它逐條地取出源程序中的語句,邊解釋,邊執行;解釋器把源代碼文件邊解釋成機器語言邊交給CPU執行。
編譯是將源程序翻譯成可執行的目標代碼,執行可執行程序文件,翻譯與執行是分開的。
4、優化
編譯程序通常會進行代碼優化,以提高程序的運行效率。
5、可移植性
編譯程序生成的目標代碼可以在不同的計算機或操作系統上運行,具有較好的可移植性。
6、獨立於源語言
編譯程序一般不依賴於源語言的特定語法和語義,可以適用於多種高級語言。
B. 編譯程序和解釋程序的區別
編譯程序和解釋程序的區別是:
1、編譯是將源程序翻譯成可執行的目標代碼;解釋程序不產生目標代碼。
2、解釋程序可跨平台使用;編譯程序跨平台性不好。
3、解釋程序可以隨時修改,立刻生效;編譯程序不行。
4、解釋程序運行效率低;編譯程序執行速度快。
編譯是將源程序翻譯成可執行的目標代碼,翻譯與執行是分開的;而解釋是對源程序的翻譯與執行一次性完成,不生成可存儲的目標代碼。這只是表象,二者背後的最大區別是:對解釋執行而言,程序運行時的控制權在解釋器而不在用戶程序;對編譯執行而言,運行時的控制權在用戶程序。
解釋具有良好的動態特性和可移植性,比如在解釋執行時可以動態改變變數的類型、對程序進行修改以及在程序中插入良好的調試診斷信息等,而將解釋器移植到不同的系統上,則程序不用改動就可以在移植了解釋器的系統上運行。
同時解釋器也有很大的缺點,比如執行效率低,佔用空間大,因為不僅要給用戶程序分配空間,解釋器本身也佔用了寶貴的系統資源。
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快。
而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的。
C. 解釋和編譯有什麼區別
解釋(intepreter)和編譯(compile)的區別:
1.
解釋
--
運行時必需用解釋器把程序一行一行執行,
運行比較慢,
因為是運行時才把程序解析並執行.
優點是移植性,
不同的機器只要有解釋器就可以運行相同的程序.
2.
編譯
--
先把程序轉成
CPU
跟操作系統認識的機械碼,
執行程序就是直接執行機械碼,
所以速度比較快,
但因為是機械碼
(加上一些操作系統的
loader
所要的信息),
不同的
CPU
與操作系統並不能運行編譯後的程序
另外還有一種是半編譯的,
先把程序編譯成一種中間碼,
再在不同的機器運行解釋器解釋這種中間碼.
網頁上的
java
可以是解釋的或是中間碼的形式
解釋是讀一行解釋一行,然後再執行,執行完後,再讀下一行,然後再解釋一下再執行。
下次再執行時還要解釋。
編譯的話就是只要編譯一次,下次再執行是就不用再解釋了,相對來說速度較快。
D. 編譯系統和解釋系統的區別
首先...直接編譯成可執行文件的方式 在執行速度上要快於解釋執行的方式
但是 JAVA是誇平台的.......
也就是說 ..雖然它是解釋執行的,,在速度上稍微亞於其他語言..(在硬體更新如此之快的今天,這算不上什麼劣勢)
但由於它的誇平台性...這個巨大的優勢 決定了JAVA 會成為熱門.....
JAVA語言程序 也可以根據需要有特定工具 再次編譯 生成在特定系統中能執行的執行程序..比如說windows下的exe 但是這樣就失去了誇平台性..
所以JAVA程序的交互 採用JAVA獨特的程序包 .jar方式進行交互是非常好的選擇
,也並不是非常復雜...
JAVA實際上是既有編譯又有解釋的....先編譯成CLASS文件..這是在誇平台前提下的最大程度的編譯....然後再進行解釋執行,可以讓解釋的過程和復雜度降到最低 .如果完全採用解釋執行...是很不可取的 增加了用戶機的負擔
E. 超贊,編譯器和解釋器的異同,瞬間明白了
編譯器和解釋器的最大不同就是:以 WINDOWS 系統為例進行講解就是:編譯器是可以把用戶編寫的源程序(例如:C 語言源程序)經過編譯、鏈接產生成一個在 WINDOWS 系統下面可獨立運行的二進制代碼(以 *.exe 為後綴的);而解釋器則必須在高級語言的解釋環境中才能夠運行用戶編寫的源程序,一旦退出了解釋器,那麼用戶編寫的源程序將無法執行。例如:以前的 BASIC 語言就是解釋執行、而不是編譯執行的。即:在 BASIC 解釋環境中,可以執行用戶編寫的以 *.BAS 為後綴的源程序,但是一旦退出了 BASIC 解釋器,那麼用戶編寫的 *.BAS 源程序就無法執行了。
F. 編譯系統和解釋系統有什麼區別
計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過"翻譯程序"翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。編譯方式是指利用事先編好的一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶將高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序,然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。解釋方式是指源程序進入計算機後,解釋程序邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程序。如PASCAL、FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。
編譯程序、解釋程序、匯編程序是3種語言處理程序。其區別主要為:匯編程序(為低級服務)是將匯編語言書寫的源程序翻譯成由機器指令和其他信息組成的目標程序。解釋程序(為高級服務)直接執行源程序或源程序的內部形式,一般是讀一句源程序,翻譯一句,執行一句,不產生目標代碼,如BASIC解釋程序。編譯程序(為高級服務)是將高級語言書寫的源程序翻譯成與之等價的低級語言的目標程序。編譯程序與解釋程序最大的區別之一在於前者生成目標代碼,而後者不生成;此外,前者產生的目標代碼的執行速度比解釋程序的執行速度要快;後者人機交互好,適於初學者使用。用COBOL、FORTRAN等語言編寫的程序考慮到執行速度一般都是編譯執行。
解釋:程序運行時,取一條指令,將其換化為機器指令, 再執行這條機器指令。
編譯:程序運行時之前,將程序的把有代碼編譯為機器代碼,再運行這個程序。
計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過"翻譯程序"翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。
編譯方式是指利用事先編好的一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶將高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序,然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。
解釋方式是指源程序進入計算機後,解釋程序邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程序。如PASCAL、FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。
簡單的說,編譯就是全文翻譯,全部翻譯完才執行。解釋就相當於同聲翻譯,邊翻譯邊執行。
解釋語言, 比如以前的Basic, 源程序是文本的, 運行時有一個解釋程序, 它把源程序讀入, 一條一條地現翻譯現執行. 這當然慢了, 因為它要現場解釋嘛. 現在網頁中的VBScript, JavaScript等也是如此.
編譯語言, 比如C或C++, 你編一段程序, 由Turbo C, VC, 或其它什麼編譯器編譯, 變成了一個可執行的程序文件 (在DOS或Windows下, 擴展名為 .EXE的), 以後運行這個編譯好的文件就成了. 因為已經翻譯好了, 所以運行時就沒有現場解釋這一步, 當然快得多了. DOS或Windows下的 EXE 文件, 都是編譯或匯編出來的.
G. 編譯和解釋的區別是什麼
1.定義區別
①編譯原理旨在介紹編譯程序構造的一般原理和基本方法。內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。
②匯編語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。
2.處理方式區別
①編譯過程與解釋挺像,區別就在於編譯是將所有的源代碼指令一次性成翻目標代碼並執行。
②匯編過程就是把匯編指令一對一地翻譯成01機器碼的過程。而採用這種處理方式的語言只有一類:匯編語言。
3.特點區別
①編譯語言的特點就是不需要解釋器的參與,所以運行比較快,但是編譯好的程序只能在當前平台運行,是個局限性。
②匯編語言是當今世界上歷史最早,應用最廣,功能最強大,運行速度最快的編程語言。但是匯編語言開發工期長,可讀性差,並且不能跨平台編程。
H. 編譯型語言和解釋型語言的區別和優劣
編譯型:優點:運行速度快,代碼效率高,編譯後的程序不可修改,保密性較好
缺點:代碼需要經過編譯方可運行,可移植性差,只能在兼容的操作系統上運行
解釋型:優點:可移植性較好,只要有解釋環境,可在不同的操作系統上運行缺點:運行需要解釋環境,運行起來比編譯的要慢,佔用資源也要多一些,代碼效率低,代碼修改後就可運行,不需要編譯過程