導航:首頁 > 源碼編譯 > 編譯程序和解釋程序生成什麼代碼

編譯程序和解釋程序生成什麼代碼

發布時間:2023-07-26 12:47:58

『壹』 高級語言程序有兩種工作方式編譯方式和解釋方式

具體如下。
編譯型工作過程圖,編譯程序功能就是把高級語言書寫的源代碼譯成與之等價的目標程序(匯編語言或機器語言)。解釋型,解釋程序實現高級知鄭語言的三種方式解釋型在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行時直接執行源程序或源程序的內部形式,即解釋程序不產生源程序的目標程序,解釋程序通常可以分為兩部分:第一部分是分析部分,經語義分析後把源程序翻譯成中間代碼,中間代碼常用逆波蘭式表示。第二部分是解釋部分。
高級語言(High-levelprogramminglanguage)是一種獨立於機器,面向過程或對象的語言。高級語言是參照數學語言而設哪猛罩計的近似於日常會話的語言。例如,要將2個變數相李鬧加並賦值給第三個變數,用高級語言表達為var3=var1+var2。

『貳』 計算機中,解釋程序與編譯程序的區別是什麼

編譯程序、解釋程序均是計算機語言處理程序。
其區別主要為:
解釋程序直接執行源程序或源程序的內部形式,一般是讀一句源程序,翻譯一句,執行一句,不產生目標代碼,如basic解釋程序。編譯程序是將高級語言書寫的源程序翻譯成與之等價的低級語言的目標程序。編譯程序與解釋程序最大的區別之一在於前者生成目標代碼,而後者不生成;此外,前者產生的目標代碼的執行速度比解釋程序的執行速度要快;後者人機交互好,適於初學者使用。

『叄』 C語言採用解釋方式將源程序轉換為二進制的目標代碼嗎

不是,C語言採用編譯方式將源程序轉換為二進制的目標代碼。使用C語言編譯器來完成。

所謂C語言編譯器,就是把編程得到的文件,比如.c,.h的文件,進行讀取,並對內容進行分析棚兆運,按照C語言的規則,將其轉換成cpu可以執行的二進制文件。其本質在於對文件的讀入,分析,及處理。

C語言編寫的程序代碼稱為源程序,對於計算機本身來說,它並不能直接識別由高級語言編寫的程序。C語言程序經C語言編譯程序編譯後,生成後綴為.obj的二進制文件(稱為目標文猜納件)。

此.obj文件必須與系統提供的各種庫函數連接起來生成一個後綴為.exe的可執行文件才可以執行。C語言的可執行文件由一系列機器指令構成的。

(3)編譯程序和解釋程序生成什麼代碼擴展閱讀

解釋執鏈梁行和編譯執行是計算機語言的執行方式。解釋執行由解釋器現場解釋執行,不生成目標程序。如BASIC便是解釋執行,一般解釋執行效率較低,低於編譯執行。

編譯執行由編譯程序將目標代碼一次性編譯成目標程序,再由機器運行目標程序。如:PASCAL,C,C++,delphi等語言。效率高於解釋執行。

『肆』 編譯程序和解釋程序都是什麼意思

1、編譯程序是把用高級程序設計語言或計算機匯編語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序,屬於採用生成性實現途徑實現的翻譯程序。編譯程序以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出;編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。

2、解釋程序是高級語言翻譯程序的一種,它將源語言書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。

(4)編譯程序和解釋程序生成什麼代碼擴展閱讀:

編譯程序的實現演算法較為復雜。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。但是,由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。

『伍』 編譯程序和解釋程序有何區別

編譯程序能生成目標程序,而解釋程序不能。

『陸』 編譯和解釋的區別是什麼

編譯和解釋的區別是與計算機的交流方式不同、運行環境不同、運行速度不同。

一、與計算機的交流方式不同

編譯是將源程序翻譯成可執行的目標代碼,執行可執行程序文件,翻譯與執行是分開的。

解釋程序不產生目標代碼,它逐條地取出源程序中的語句,邊解釋邊執行,解釋器把源代碼文件邊解釋成機器語言邊交給CPU執行。

二、運行環境不同

編譯程序跨平台性不好,不同操作系統,調用底層的機器指令不同,需為不同平台生成不同的機器碼文件,編譯程序每次修改源代碼,都要重新編譯,生成機器碼文件。

解釋程序可跨平台使用,因為解釋器已經做好了對不同平台的交互處理,用戶寫的源代碼不需要再考慮差異性,源代碼所有平台都可以直接執行,解釋程序可以隨時修改,立刻生效,改完源代碼後,直接運行看效果。

三、運行速度不同

編譯程序執行速度快,因為你的程序代碼已經翻譯成了是計算機可以理解的機器語言。

解釋程序運行效率低,所有的代碼均需經過解釋器邊解釋變執行,速度比編譯型慢很多。

『柒』 請問匯編程序, 解釋程序, 編譯程序分別指

1、匯編程序

把匯編語言書寫的程序翻譯成與之等價的機器語言程序的翻譯程序。匯編程序輸入的是用匯編語言書寫的源程序,輸出的是用機器語言表示的目標程序。匯編語言是為特定計算機或計算機系列設計的一種面向機器的語言,由匯編執行指令和匯編偽指令組成。

採用匯編語言編寫程序雖不如高級程序設計語言簡便、直觀,但是匯編出的目標程序佔用內存較少、運行效率較高,且能直接引用計算機的各種設備資源。它通常用於編寫系統的核心部分程序,或編寫需要耗費大量運行時間和實時性要求較高的程序段。

2、解釋程序

解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。因此,解釋程序並不產生目標程序,這是它和編譯程序的主要區別。

3、編譯程序

編譯程序也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。

它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。

(7)編譯程序和解釋程序生成什麼代碼擴展閱讀:

工作過程

1、匯編程序

輸入匯編語言源程序。檢查語法的正確性,如果正確,則將源程序翻譯成等價的二進制或浮動二進制的機器語言程序,並根據用戶的需要輸出源程序和目標程序的對照清單;如果語法有錯,則輸出錯誤信息,指明錯誤的部位、類型和編號。最後,對已匯編出的目標程序進行善後處理。

2、解釋程序

由總控程序完成初始化工作。依次從源程序中取出一條語句進行語法檢查,如有錯,輸出錯誤信息;如果通過了語法檢查,則根據語句翻澤成相應的指令並執行它。檢查源程序是否已經全部解釋執行完畢,如果未完成則繼續解釋並執行下一條語句,直到全部語句都處理完畢。

3、編譯程序

先進行詞法分析與語法分析,然後生成中間代碼,接著對程序進行多種等價變換來代碼優化,最後生成目標代碼。

『捌』 編譯程序和解釋程序的區別

編譯程序和解釋程序的區別是:

1、編譯是將源程序翻譯成可執行的目標代碼;解釋程序不產生目標代碼。

2、解釋程序可跨平台使用;編譯程序跨平台性不好。

3、解釋程序可以隨時修改,立刻生效;編譯程序不行。

4、解釋程序運行效率低;編譯程序執行速度快。

編譯是將源程序翻譯成可執行的目標代碼,翻譯沒斗與執行是分開的;而解釋是對源程序的翻譯與執行一次性完成,不生成可存儲的目標代碼。這只是表象,二者背後的最大區別是:對解釋執行而言,程序運行時的控制權在解釋器而不在用戶程序;對編譯執行而言,運行時的控制權在用戶程序。

解釋具有良好的動態特性和可移植性,比如在解釋執行時可以動態改變變數的類型、對程序進行修改以及在程序中插入良好的調試診斷信息等,而將解釋器移植到不同的系統上,則程序不用改動就可以在移植了解釋器的系統上運行。

同時解釋器也有很大的缺點,比如執行效率低,佔用空間大,因為不僅要給用戶程序分配空間,念察敗解釋器本身也佔用了寶貴的系統資源。

編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行仔顫時計算機可以直接以機器語言來運行此程序,速度很快。

而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的。

『玖』 用高級語言編寫的源程序,經編譯後產生的是

目標程序。

目標程序,又稱為「目的程序」,為源程序經編譯可直接被計算機運行的機如岩伏器碼集合,在計算機文件上以.obj作擴展名----由語言處理程序(匯編程序,編譯程序,解釋程序)將源程序處理(匯編,編譯,解釋)成與之等價的由機器碼構成的,計算機能夠直接運行的程序,該程序叫目標程序。

目標代碼盡管已經是機渣攜器指令,但是還不能運行,因為目標程序還沒有解決函數調用問題,需要將各個目標程序與庫函數連接,才能形成完整的可執行程序。

(9)編譯程序和解釋程序生成什麼代碼擴展閱讀

計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過"翻譯程序"翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。

編譯方式是指利用事先編好的一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶將高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器棗扮語言表示的與之等價的目標程序。

然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。解釋方式是指源程序進入計算機後,解釋程序邊掃描邊解釋,逐句輸入逐句翻譯。

計算機一句句執行,並不產生目標程序。如PASCAL、FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。

『拾』 編譯程序都有哪些

編譯程序有哪些主要構成成分?它們各自的主要功能是什麼?
數據結構

分析和綜合時所用的主要數據結構,包括符號表、

常數表和中間語言程序。

符號表由源程序中所用的標識符連同它

們的屬性組成,

其中屬性包括種類

(如變數、

數組、

結構、

函數、

過程等)、類型(如整型、實型、字元串、復型、標號等),以

及目標程序所需的其他信息。常數表由源程序中用的常數組成,

其中包括常數的機內表示,

以及分配給它們的目標程序地址。



間語言程序是將源程序翻譯為目標程序前引入的一種中間形式

的程序,

其表示形式的選擇取決於編譯程序以後如何使用和加工

它。

常用的中間語言形式有波蘭表示、

三元組、

四元組以及間接

三元組等。

分析部分

源程序的分析是經過詞法分析、語法分析和語

義分析三個步驟實現的。

詞法分析由詞法分析程序

(又稱為掃描

程序)完成,其任務是識別單詞(即標識符、常數、保留字,以

及各種運算符、標點符號等)、造符號表和常數表,以及將源程

序換碼為編譯程序易於分析和加工的內部形式。

語法分析程序是

編譯程序的核心部分,

其主要任務是根據語言的語法規則,

檢查源程序是否合乎語法。

如不合乎語法,

則輸出語法出錯信息;



合乎語法,

則分解源程序的語法結構,

構造中間語言形式的內部

程序。

語法分析的目的是掌握單詞是怎樣組成語句的,

以及語句

又是如何組成程序的。

語義分析程序是進一步檢查合法程序結構

的語義正確性,

其目的是保證標識符和常數的正確使用,

把必要

的信息收集和保存到符號表或中間語言程序中,

並進行相應的語

義處理。

綜合部分

綜合階段必須根據符號表和中間語言程序產生

出目標程序,其主要工作包括代碼優化、存儲分配和代碼生成。

代碼優化是通過重排和改變程序中的某些操作,

以產生更加有效

的目標程序。

存儲分配的任務是為程序和數據分配運行時的存儲

單元。

代碼生成的主要任務是產生與中間語言程序符等價的目標

程序,

順序加工中間語言程序,

並利用符號表和常數表中的信息

生成一系列的匯編語言或機器語言指令。

結構

編譯過程分為分析和綜合兩個部分,

並進一步劃分為

詞法分析、語法分析、

語義分析、

代碼優化、存儲分配和代碼

生成等六個相繼的邏輯步驟。

這六個步驟只表示編譯程序各部分

之間的邏輯聯系,

而不是時間關系。

編譯過程既可以按配伏激照這六個

邏輯步驟順序地執行,

也可以按照平行互鎖方式去執行。

在確定

編譯程序的具體結構時,

常常分若干遍實現。

對於源程序或中間

語言程序,

從頭到尾掃視一次並實現所規定的工作稱作一遍。



一遍可以完成一個或相連幾個邏輯步驟的工作。

例如,

可以把詞

法分析作為第一遍;

語法分析和語義分析作為第二遍;

代碼優化

和存儲分配作為第三遍;

代碼生成作為第四遍。

反之,

為了適應

較小的存儲空間或提高廳顫目標程序質量,

也可以把一個邏輯步驟的

工作分為幾遍去執行。

例如,

代碼優化可劃分為代碼優化准備工

作和實際代碼優化兩遍進行。

一個編譯程序是否分遍

,

以及如何分遍

,

根據具體情況而定。

其判別標准可以是存儲容量的大小、

源語言的繁簡、

解題范圍的

寬窄,

以及設計、

編制人員的多少等。

分遍的好處是各遍功能獨

立單純、相互聯系簡單、邏輯結構清晰、優化准備工作充分。缺

點是各遍之中不可避免地要有些重復的部分,

而且遍和遍之間要培襪

有交接工作,因之增加了編譯程序的長度和編譯時間。

一遍編譯程序是一種極端情況,

整個編譯程序同時駐留在內



,

彼此之間採用調用轉接方式連接在一起

(



2)

。當語法分析

程序......
c編譯程序是什麼?
D

編譯程序

這是一類很重要的語言處理程序,它把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,雞行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機去執行這個目標程序,得到計算結果。

實在不明白用排除法
編譯程序是什麼意思啊
你是想知道這個概念的意思么,有點籠統不好給你講的。你說的編譯程序是編程么,編程就是駕馭機器
編譯程序是什麼意思?編譯是什麼意思?
把用高級程序設計語言書寫的源程序,翻譯成等價的計算機匯編語言或機器語言書寫的目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。編譯程序的實現演算法較為復雜。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。但是,由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。
目前最常用的作C語言編譯程序的軟體是什麼?
如果你用Turbo C的話,不需要太高配置,基本的DOS能跑的系統他就能跑。

如果你用VC++6.0跑的話,那麼最低也得賽揚II一級別,256M內存,然後WIN98系統,硬碟至少2G空間

如果你用Visual Studio200X跑的話,建議奔騰四的機器,而且內存要大,至少512M,XP環境,如果要載入SQL SERVER的話,內存還要更大,至少1G,否則服務掛不動,而且硬碟最好留5G空間,可以安裝一些MSDN。方便查閱。

其次,還有個GCC編譯器,可以下載一個環境,配置一下,這是LINUX下的C編譯器,效率很高,而且出來的OBJ沒有垃圾數據,推薦,這個跟TC環境差不多
目前主流的C語言編譯軟體是什麼
vc++ 6.0比較老 但是適合初學者學習 初學者足夠了

vs 2010 、vs 2012不錯, 軟體稍大,

eclipse 也可以 不過不太常用

如果是初學者建議 vc++6.0 或者 vs 2012
編譯程序的優點是什麼啊?解釋程序的優點又是什麼?
5、編譯程序和解釋程序

高級語言程序同樣要翻譯成二進製程序才能執行。

耿級語言的兩種執行方式:

(1)解釋方式:翻譯一條,執行一條 特點:慢,但占空間小

(2)編譯方式:翻譯成目標程序,然後運行目標程序 特點:快,但佔用空間大 (考點)
編譯軟體具體是什麼啊?為屬於系統軟體啊
以上回答是什麼亂七八糟的水平!

計算機常識,操作系統,資料庫管理系統,編譯軟體都屬於系統軟體。

沒有為什麼,這就是個定義。規定就是這樣。原因我想可能是因為這些軟體都沒有特定的應用吧。。都是為了輔助其它應用軟體而存在。所以定義為系統軟體。
編譯原理---程序執行的兩種方式是什麼
解釋執行和編譯執行,前者過程簡單,後者執行速度快

閱讀全文

與編譯程序和解釋程序生成什麼代碼相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:142
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:732
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:301
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:141
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:890
app轉賬是什麼 瀏覽:163