❶ 編譯程序 與 解釋程序
通常,將高級語言程序翻譯成機器語言程序的軟體稱為磨基翻譯程序。翻譯程序有兩種:一種是瞎盯謹編譯程序,另一種是解釋程序。編譯程序是將用戶編寫的高級語言程序(源程序)的全部語句一次全部翻譯成機器語言程序,而後再執行機器語言程序。因此,只則慎要源程序不變,就無須再次進行翻譯。例如,FORTRAN、PASCAL等語言就是用編譯程序來完成翻譯的。解釋程序是將源程序的一條語句翻譯成對應於機器語言的一條語句,並且立即執行這條語句,接著翻譯源程序的下一條語句,並執行這條語句,如此重復直至完成源程序的全部翻譯任務。它的特點是翻譯一次執行一次,即使下一次重復執行該語句時,也必須重新翻譯。例如,BASIC語言的翻譯就有解釋程序和編譯程序兩種。
❷ 編譯程序和解釋程序都是什麼意思
編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。
解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。
(2)編譯軟體和解釋程序擴展閱讀:
解釋程序的一般結構可以分為解釋模塊和運行模塊者輪斗兩個主要模桐返塊。前者的職能是按源程序動態執行順序逐個輸入語句,並對單個語句進行分析和解釋,包括語法和語義的正確性檢驗、生成等價的中間代碼或機器語言代碼,以及錯誤信息提供等處理。
後首磨者的職能是運行語句的翻譯代碼,並輸出中間結果或最終結果。由於解釋程序的設計思想不同,運行模塊的執行方式也不同。
參考資料來源:
網路——編譯程序
網路——解釋程序
❸ 編譯程序和解釋程序的區別
編譯程序和解釋程序的區別是:
1、編譯是將源程序翻譯成可執行的目標代碼;解釋程序不產生目標代碼。
2、解釋程序可跨平台使用;編譯程序跨平台性不好。
3、解釋程序可以隨時修改,立刻生效;編譯程序不行。
4、解釋程序運行效率低;編譯程序執行速度快。
編譯是將源程序翻譯成可執行的目標代碼,翻譯沒斗與執行是分開的;而解釋是對源程序的翻譯與執行一次性完成,不生成可存儲的目標代碼。這只是表象,二者背後的最大區別是:對解釋執行而言,程序運行時的控制權在解釋器而不在用戶程序;對編譯執行而言,運行時的控制權在用戶程序。
解釋具有良好的動態特性和可移植性,比如在解釋執行時可以動態改變變數的類型、對程序進行修改以及在程序中插入良好的調試診斷信息等,而將解釋器移植到不同的系統上,則程序不用改動就可以在移植了解釋器的系統上運行。
同時解釋器也有很大的缺點,比如執行效率低,佔用空間大,因為不僅要給用戶程序分配空間,念察敗解釋器本身也佔用了寶貴的系統資源。
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行仔顫時計算機可以直接以機器語言來運行此程序,速度很快。
而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的。
❹ 請問編譯程序和解釋程序是什麼意思什麼是編譯器、什麼是解釋器
編譯和解釋是從源程序到可執行程序轉換的兩種方法。編譯,是在源程序完成後,先轉換成中間代碼,然後再轉換成二進制代碼,完成後,每次執行,都直接執行這個二進制代碼。一次轉換完成。
而解釋程序的執行不同,他在執行時,是一次讀入一條源代碼,然後分析轉換成二進制代碼,執行這條語句,然後再讀入一條源代碼,再轉換,再執行。是一邊轉換一邊執行。編譯器和解釋器就是完成編譯和解釋工作的一個軟體。
❺ 編譯程序和解釋程序都是什麼意思
1、編譯程序是把用高級程序設計語言或計算機匯編語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程枯轎序,屬於採用生成性實現途徑實現的翻譯程序。編譯程序以高級程序設計語言書寫的源程序作為輸入,而沒頃肆以匯編語言或機器語言表示的目標程序作為輸出;編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
2、解釋程序是高級語言翻譯程序的一種,它將源語言書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。
(5)編譯軟體和解釋程序擴展閱讀:
編譯程序的實現演算法較為復雜。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。但是,由於高級程序設計語言書寫的程序具有易讀、易乎遲移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。
❻ 編譯程序和解釋程序有何區別
編譯程序能生成目標程序,而解釋程序不能。
❼ 編譯和解釋的區別是什麼
編譯和解釋的區別是與計算機的交流方式不同、運行環境不同、運行速度不同。
一、與計算機的交流方式不同
編譯是將源程序翻譯成可執行的目標代碼,執行可執行程序文件,翻譯與執行是分開的。
解釋程序不產生目標代碼,它逐條地取出源程序中的語句,邊解釋邊執行,解釋器把源代碼文件邊解釋成機器語言邊交給CPU執行。
二、運行環境不同
編譯程序跨平台性不好,不同操作系統,調用底層的機器指令不同,需為不同平台生成不同的機器碼文件,編譯程序每次修改源代碼,都要重新編譯,生成機器碼文件。
解釋程序可跨平台使用,因為解釋器已經做好了對不同平台的交互處理,用戶寫的源代碼不需要再考慮差異性,源代碼所有平台都可以直接執行,解釋程序可以隨時修改,立刻生效,改完源代碼後,直接運行看效果。
三、運行速度不同
編譯程序執行速度快,因為你的程序代碼已經翻譯成了是計算機可以理解的機器語言。
解釋程序運行效率低,所有的代碼均需經過解釋器邊解釋變執行,速度比編譯型慢很多。
❽ 編譯和解釋的區別
1、在編譯方式下,機器上運行的是與源程序等價的目標程序,源程序和編譯程序都不再參與目標程序的謹搏哪執行過程,而在解釋方祥碼式下,解釋程序和源程序(或某種等價表示)要參與到程序的運行過程中,運行程序銀芹的控制權在解釋程序。
2、解釋器翻譯源程序時不生成獨立的目標程序,而編譯器則將源程序翻譯成獨立的目標程序。
❾ 請問匯編程序, 解釋程序, 編譯程序分別指
1、匯編程序
把匯編語言書寫的程序翻譯成與之等價的機器語言程序的翻譯程序。匯編程序輸入的是用匯編語言書寫的源程序,輸出的是用機器語言表示的目標程序。匯編語言是為特定計算機或計算機系列設計的一種面向機器的語言,由匯編執行指令和匯編偽指令組成。
採用匯編語言編寫程序雖不如高級程序設計語言簡便、直觀,但是匯編出的目標程序佔用內存較少、運行效率較高,且能直接引用計算機的各種設備資源。它通常用於編寫系統的核心部分程序,或編寫需要耗費大量運行時間和實時性要求較高的程序段。
2、解釋程序
解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。因此,解釋程序並不產生目標程序,這是它和編譯程序的主要區別。
3、編譯程序
編譯程序也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。
它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
(9)編譯軟體和解釋程序擴展閱讀:
工作過程
1、匯編程序
輸入匯編語言源程序。檢查語法的正確性,如果正確,則將源程序翻譯成等價的二進制或浮動二進制的機器語言程序,並根據用戶的需要輸出源程序和目標程序的對照清單;如果語法有錯,則輸出錯誤信息,指明錯誤的部位、類型和編號。最後,對已匯編出的目標程序進行善後處理。
2、解釋程序
由總控程序完成初始化工作。依次從源程序中取出一條語句進行語法檢查,如有錯,輸出錯誤信息;如果通過了語法檢查,則根據語句翻澤成相應的指令並執行它。檢查源程序是否已經全部解釋執行完畢,如果未完成則繼續解釋並執行下一條語句,直到全部語句都處理完畢。
3、編譯程序
先進行詞法分析與語法分析,然後生成中間代碼,接著對程序進行多種等價變換來代碼優化,最後生成目標代碼。
❿ 編譯程序屬於什麼軟體
編譯程序是什麼軟體
看著問題,我就郁悶了,好吧,稍微普及下程序知識。
看你需要寫的是什麼程序,然後用什麼語言對應的又語言編輯器。(這個編輯器可能就是你認為的軟體了,其實不然,這個只是個工具比如txt是記事用的一樣,)
如:C C++ C#這些是語言,算是高級語言了,他們一般用的編輯器是VS2010現在或者Tbc
java也是語言,是高級語言,編輯器一般也用VS2010,不過看個人習慣了,畢竟編輯器多了去了,有的插件少,有個功能強大,有的使用方便。
再如asp php 這些也是高級語言,用的編輯器就更普遍了 什麼eclipse dw zend什麼的多了去了,也是看個人習慣和喜好了,再者高級的程序猿都可以用txt編輯語言。
再如E語言 VB這些語言也有特定的編輯器,不過都不是死的,等你稍微了解里邊東西多了,自然就明白這里是程序的世界,如果還有不明白的,可以追問,說出具體的你要編譯的軟體,再給你詳細的說是用什麼做的。
一般用到編譯的大多存在於 VB E語言 C等等之類
另外語言的種類還有 其他很多種,詳細的可以查閱!
編譯程序,匯編程序屬於什麼軟體?
嘿嘿 樓上的幾個人 自己都不懂 還回答啥啊 不是害人嗎
1 系統軟體:
是能提高程序設計者的工作效率、方便用戶使用、可以對計算機進行管理的軟體。
包括:操作系統、監控軟體、編譯程序、,匯編程序、資料庫、標准程序庫。
因此 很明確編譯程序,匯編程序屬於系統軟體。
2 只有為解決某一特殊問題而編寫的程序才能叫應用軟體。
哈哈 請為正確答案 選擇滿意回答 嘍
高級程序語言的編譯程序屬於什麼軟體?
2
編譯軟體具體是什麼啊?為屬於系統軟體啊
以上回答是什麼亂七八糟的水平!
計算機常識,操作系統,資料庫管理系統,編譯軟體都屬於系統軟體。
沒有為什麼,這就是個定義。規定就是這樣。原因我想可能是因為這些軟體都沒有特定的應用吧。。都是為了輔助其它應用軟體而存在。所以定義為系統軟體。
什麼是編譯程序?
編譯程序也叫編譯系統,是把用高級語言編寫的面向過程的源程序翻譯成目標程序的語言處理程序。
編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。
(1) 詞法分析
詞法分析的任務是對由字元組成的單詞進行處理,從左至右逐個字元地對源程序進行掃描,產生一個個的單詞符號,把作為字元串的源程序改造成為單詞符號串的中間程序。執行詞法分析的程序稱為詞法分析程序或掃描器。
源程序中的單詞符號經掃描器分析,一般產生二元式:單詞種別;單詞自身的值。單詞種別通常用整數編碼,如果一個種別只含一個單詞符號,那麼對這個單詞符號,種別編碼就完全代表它自身的值了。若一個種別含有許多個單詞符號,那麼,對於它的每個單詞符號,除了給出種別編碼以外,還應給出自身的值。
詞法分析器一般來說有兩種方法構造:手工構造和自動生成。手工構造可使用狀態圖進行工作,自動生成使用確定的有限自動機來實現。
(2) 語法分析
編譯程序的語法分析器以單詞符號作為輸入,分析單詞符號串是否形成符合語法規則的語法單位,如表達式、賦值、循環等,最後看是否構成一個符合要求的程序,按該語言使用的語法規則分析檢查每條語句是否有正確的邏輯結構,程序是最終的一個語法單位。編譯程序的語法規則可用上下文無關文法來刻畫。
語法分析的方法分為兩種:自上而下分析法和自下而上分析法。自上而下就是從文法的開始符號出發,向下推導,推出句子。而自下而上分析法採用的是移進歸約法,基本思想是:用一個寄存符號的先進後出棧,把輸入符號一個一個地移進棧里,當棧頂形成某個產生式的一個候選式時,即把棧頂的這一部分歸約成該產生式的左鄰符號。
(3) 中間代碼生成
中間代碼是源程序的一種內部表示,或稱中間語言。中間代碼的作用是可使編譯程序的結構在邏輯上更為簡單明確,特別是可使目標代碼的優化比較容易實現。中間代碼即為中間語言程序,中間語言的復雜性介於源程序語言和機器語言之間。中間語言有多種形式,常見的有逆波蘭記號、四元式、三元式和樹。
(4) 代碼優化
代碼優化是指對程序進行多種等價變換,使得從變換後的程序出發,能生成更有效的目標代碼。所謂等價,是指不改變程序的運行結果。所謂有效,主要指目標代碼運行時間較短,以及佔用的存儲空間較小。這種變換稱為優化。
有兩類優化:一類是對語法分析後的中間代碼進行優化,它不依賴於具體的計算機;另一類是在生成目標代碼時進行的,它在很大程度上依賴於具體的計算機。對於前一類優化,根據它所涉及的程序范圍可分為局部優化、循環優化和全局優化三個不同的級別。
(5) 目標代碼生成
目標代碼生成是編譯的最後一個階段。目標代碼生成器把語法分析後或優化後的中間代碼變換成目標代碼。目標代碼有三種形式:
① 可以立即執行的機器語言代碼,所有地址都重定位;
② 待裝配的機器語言模塊,當需要執行時,由連接裝入程序把它們和某些運行程序連接起來,轉換成能執行的機器語言代碼;
③ 匯編語言代碼,須經過匯編程序匯編後,成為可執行的機器語言代碼。
目標代碼生成階段應考慮直接影響到目標代碼速度的三個問題:一是如何生成較短的目標代碼;二是如何充分利用計算機中的寄存器,減少目標代碼訪問存儲單元的次數;三是如何充分利用計算機指令系統的特點,以提高目標代碼的質量。...
現在最新的c語言編譯軟體是哪個?
GCC
毫無疑問,GCC幾乎是unix及linux系統中最通用的編譯器套件,幾乎所有的linux發行版都預裝了GCC作為C語言的默認編譯器。除了對C語言的支持,GCC還支持C++、Objective-C等多種語言。GCC早在1987就由 Richard Stallman作為GNU計劃的一部分發布。
Clang
Clang是近幾年新興的C/C++以及Objective-C的編譯器,Apple是其主要投資者,其最初的開發者已加盟Apple。雖說是新興,但其對C/C++標準的支持不亞於GCC等老牌編譯器,並且外部介面和GCC完全兼容,並且因其模塊化、錯誤提示完善等優點已經越來越受到重視。一些如FreeBSD等項目已將clang作為默認編譯器。
c語言編譯程序是不是系統軟體?
系統軟體貳就是計算機系統,如:windows系列,DOS、OS/2、UNIX、XENIX、LINUX、Netware等;
作用是維持計算機的正常運行;
編譯軟體是用於編譯代碼使用的,屬於應用軟體。
從程序語言上來說,匯編程序應該是最早也是最成熟的系統軟體,
它直接利用計算機硬體的特點進行代碼編譯,
直接使用系統指令進行定址,程序佔用內存小,實現迅速。
C語言不能實現
c編譯程序是什麼?
D
編譯程序
這是一類很重要的語言處理程序,它把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,雞行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機去執行這個目標程序,得到計算結果。
實在不明白用排除法
程序設計語言的編譯程序屬於系統軟體還是應用軟體。
編譯程序與解釋程序是屬於語言處理系統,負責把高級語言轉化成低級語言,語言處理系統是系統軟體的一種,所以編譯程序屬於系統軟體。而編程語言是用於開發各種軟體包括系統軟體的,所以編程語言是應用軟體,比如說編譯程序解釋程序匯編程序是系統軟體,而高級語言低級語言匯編語言是應用軟體。
編譯軟體是什麼
編譯(pilation , pile)
1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。
2、用編譯程序產生目標程序的動作。
編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。
詳情去網路看看哈,地址:ke./view/69568
理解了編譯,你自然就了解什麼是編譯軟體咯.常用的很多,我推薦幾個給你吧.
編譯C:Turbo C 2.0、Turbo C 3.0
編譯C\C++唬:VC6.0、winTC等
編譯Java:eclipse(也可以直接配置好環境在DOS下編譯運行)