導航:首頁 > 源碼編譯 > 編譯主要是實現什麼功能

編譯主要是實現什麼功能

發布時間:2023-03-21 00:04:33

Ⅰ 一個典型的編譯程序通常由哪些部分組成各部分的主要功能是什麼

通常由七個部分組成。分別是:詞法分析、語法分析、語義分析和中間代碼生成、優化、目標代碼生成以及表格和表格管理、出錯處理。
各自功能是:
1.詞法分析:輸入源程序,對構成源程序的字元串進行掃描和分解,識別出一個個單詞(也稱單詞符號,或簡稱符號)。在詞法分析階段工作所依循的是語言的詞法規則;描述詞法規則的有效工具是正規式和有限自動機。
2.語法分析:在詞法分析的基礎上,根據語言的語法規則,把單詞符號串組成各類語法單位。具體的說,語法分析是在單詞流的基礎上建立一個層次結構——建立語法樹。
3.語義分析和中間代碼生成:語義分析利用語法分析階段確定的層次結構來識別表達式和語句中的操作信息及類型信息;中間代碼生成階段將產生的源程序的一個顯式中間表示,這種中間表示可以看成是某種抽象程序,通常是與平台無關的,(可用三地址碼和四元式表示)。
4.優化:試圖改進中間代碼,以產生執行速度較快的機器代碼。
5.目標代碼生成:生成可重定位的機器代碼或匯編代碼。
6.表格和表格管理:編譯程序在工作過程中需要保持一系列的表格,以登記源程序的各類信息和編譯各階段的進展情況。
7.出錯處理:編譯程序對源程序中的錯誤進行處理,應最大限度地發現源程序中的各種錯誤,准確地指出錯誤的性質和發生錯誤的地點,並且將錯誤所造成的影響限制在盡可能小的范圍內,使得源程序的其餘部分能繼續被編譯下去,以便進一步發現其他可能的錯誤。通常編譯過程中每個階段都可能檢測出錯誤,其中,絕大多數數錯誤可以在編譯的前三階段檢測出來。且源程序中的錯誤通常分為語法錯誤和語義錯誤兩大類。出錯處理就是為了處理以上的錯誤情況。

Ⅱ c++中的編譯,構建各是起什麼作用

編譯:把當前源代碼編譯成2進制目標文件
構建:先把工程中所有源代碼編譯成目標文件,再link鏈接成可執行文件(或者lib、dll,看具體工程)。這其中,如果有源文件在此之前被單獨編譯過,這個文件就不參加編譯,它之前編譯時產生的目標文件參加link(鏈接)過程。
重新構建:就是不管之前有沒有源文件被單獨編譯,都要參與編譯。

不同的C++編譯環境可能不一定叫構建,但都有類似的功能。

Ⅲ 計算機編譯程序的功能是什麼

把你所寫的源代碼程序編譯成匯編代碼,再由匯編代碼編譯成二進制代碼,而二進制代碼是計算機能識別的代碼,在計算機執行過程中0表示低電平,1表示高電平,就是通過高低電平來控制元器件的運作

Ⅳ 編譯器有什麼用

簡單講,編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器(Linker) → 可執行程序 (executables)
高級計算機語言便於人編寫,閱讀交流,維護。機器語言是計算機能直接解讀、運行的。編譯器將匯編或高級計算機語言源程序(Source program)作為輸入,翻譯成目標語言(Target language)機器代碼的等價程序。源代碼一般為高級語言 (High-level language), 如Pascal、C、C++、Java、漢語編程等或匯編語言,而目標則是機器語言的目標代碼(Object code),有時也稱作機器代碼(Machine code)。
對於C#、VB等高級語言而言,此時編譯器完成的功能是把源碼(SourceCode)編譯成通用中間語言(MSIL/CIL)的位元組碼(ByteCode)。最後運行的時候通過通用語言運行庫的轉換,編程最終可以被CPU直接計算的機器碼(NativeCode)。

Ⅳ 什麼是編譯環境他的作用是什麼編譯環境跟運行平台有什麼不同

編譯環境是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。作用是通過代入預定義等程序段將源程序補充完整。

編譯環境跟運行平台區別為:工具不同、調試不同、硬體支持不同。

一、工具不同

1、編譯環境:編譯環境包含開發、調試和部署等工具。

2、運行平台:運行平台只包含運行指令和class實現的工具。

二、調試不同

1、編譯環境:編譯環境有調試代碼的功能,調試後可重新編譯執行。

2、運行平台:運行平台沒有調試代碼的功能。

三、硬體支持不同

1、編譯環境:編譯環境使用的是模擬設備,不需要硬體支持。

2、運行平台:運行平台需要硬體支持,在實際設備中運行。

Ⅵ 編譯程序的作用是

編譯程序的作用是將高級語言源程序翻譯成目標程序

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

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

編譯過程分為分析和綜合兩個部分,並進一步劃分為詞法分析、語法分析、語義分析、代碼優化、存儲分配和代碼生成等六個相繼的邏輯步驟。這六個步驟只表示編譯程序各部分之間的邏輯聯系,而不是時間關系。

編譯過程既可以按照這六個邏輯步驟順序地執行,也可以按照平行互鎖方式去執行。在確定編譯程序的具體結構時,常常分若干遍實現。對於源程序或中間語言程序,從頭到尾掃視一次並實現所規定的工作稱作一遍。每一遍可以完成一個或相連幾個邏輯步驟的工作。

例如,可以把詞法分析作為第一遍;語法分析和語義分析作為第二遍;代碼優化和存儲分配作為第三遍;代碼生成作為第四遍。

反之,為了適應較小的存儲空間或提高目標程序質量,也可以把一個邏輯步驟的工作分為幾遍去執行。例如,代碼優化可劃分為代碼優化准備工作和實際代碼優化兩遍進行。

(7)編譯主要是實現什麼功能擴展閱讀

從左至右逐個字元地對源程序進行掃描,產生一個個的單詞符號,把作為字元串的源程序改造成為單詞符號串的中間程序。執行詞法分析的程序稱為詞法分析程序或掃描器。

源程序中的單詞符號經掃描器分析,一般產生二元式:單詞種別;單詞自身的值。單詞種別通常用整數編碼,如果一個種別只含一個單詞符號,那麼對這個單詞符號,種別編碼就完全代表它自身的值了。若一個種別含有許多個單詞符號,那麼,對於它的每個單詞符號,除了給出種別編碼以外,還應給出自身的值。

詞法分析器一般來說有兩種方法構造:手工構造和自動生成。手工構造可使用狀態圖進行工作,自動生成使用確定的有限自動機來實現。

編譯程序的語法分析器以單詞符號作為輸入,分析單詞符號串是否形成符合語法規則的語法單位,如表達式、賦值、循環等,最後看是否構成一個符合要求的程序,按該語言使用的語法規則分析檢查每條語句是否有正確的邏輯結構,程序是最終的一個語法單位。編譯程序的語法規則可用上下文無關文法來刻畫。

Ⅷ C語言編譯器是用來做什麼的

1.
C語言是一種結構化語言。它層次清晰,便於按模塊化方式組織程序,易於調試和維護。
2.
C語言的表現能力和處理能力極強。它不僅具有豐富的運算符和數據類型,便於實現各類復雜的數據結構。它還可以直接訪問內存的物理地址,進行位(bit)一級的操作。由於C語言實現了對硬體的編程操作,因此C語言集高級語言和低級語言的功能於一體。既可用於系統軟體的開發,也適合於應用軟體的開發。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的C語言。

Ⅸ 計算機編譯程序主要是做什麼工作

編譯程序就是將高級語言程序設計語言源程序翻譯成計算機可執行代碼的軟體

Ⅹ 編譯器的功能是什麼

1、編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器(Linker) → 可執行程序 (executables)。
2、工作方法:
1)、首先編譯器進行語法分析,也就是要把那些字元串分離出來。
2)、然後進行語義分析,就是把各個由語法分析分析出的語法單元的意義搞清楚。
3)、最後生成的是目標文件,也稱為obj文件。
4)、再經過鏈接器的鏈接就可以生成最後的EXE文件了。
5)、有些時候需要把多個文件產生的目標文件進行鏈接,產生最後的代碼。這一過程稱為交叉鏈接。

閱讀全文

與編譯主要是實現什麼功能相關的資料

熱點內容
有關蛇女香港的電影 瀏覽:66
兄妹禁忌之戀 瀏覽:347
文娛小說主角姓蘇 瀏覽:210
下載軟體佔用內存大需要解壓嗎 瀏覽:268
愛戀3d未刪減版百度雲網盤 瀏覽:47
安卓邊境怎麼玩 瀏覽:203
不用下載免費網址 瀏覽:186
gl片子 瀏覽:41
台灣電影男學生女老師 瀏覽:743
推薦個能看的網址你懂的 瀏覽:149
免費觀看歐美純愛電影 瀏覽:222
帶男朋友張浩回宿舍影片名字 瀏覽:177
抗戰二級電影 瀏覽:115
愛情電影中文網 瀏覽:975
民國片 瀏覽:534
移動轉電信代理伺服器地址 瀏覽:771
不卡頓電影網免費觀看 瀏覽:358
摩登情書在線免費閱讀全文 瀏覽:308
能看動漫黃的網站 瀏覽:105
陪女人看電影逛街是什麼app 瀏覽:825