資料介紹
在進(jìn)行 C 程序開發(fā)時(shí),編譯就是將編寫的 C 語言代碼變成可執(zhí)行程序的過程,這一過程
是由編譯器來完成的。編譯器就是完成程序編譯工作的軟件,在進(jìn)行程序編譯時(shí)完成了一系
列復(fù)雜的過程。
1.1.1 程序編譯的過程
在執(zhí)行這一操作時(shí),程序完成了復(fù)雜的過程。一個(gè)程序的編譯,需要完成詞法分析、語
法分析、中間代碼生成、代碼優(yōu)化、目標(biāo)代碼生成。本章將講解這些步驟的作用與原理。
(1)詞法分析。指的是對由字符組成的單詞進(jìn)行處理,從左至右逐個(gè)字符地對源程序進(jìn)
行掃描,產(chǎn)生一個(gè)個(gè)的單詞符號。然后把字符串的源程序改造成為單詞符號串的中間程序。
在編譯程序時(shí),這一過程是自動(dòng)完成的。編譯程序會(huì)對代碼的每一個(gè)單詞進(jìn)行檢查。如果單
詞發(fā)生錯(cuò)誤,編譯過程就會(huì)停止并顯示錯(cuò)誤。這時(shí)需要對程序中的錯(cuò)誤進(jìn)行修改
?。?)語法分析。語法分析器以單詞符號作為輸入,分析單詞符號串是否形成符合語法規(guī)
則的語句。例如,需要檢查表達(dá)式、賦值、循環(huán)等結(jié)構(gòu)是否完整和符合使用規(guī)則。在語法分
析時(shí),會(huì)分析出程序中錯(cuò)誤的語句,并顯示出結(jié)果。如果語法發(fā)生錯(cuò)誤,編譯任務(wù)是不能完
成的。
?。?)中間代碼生成。中間代碼是源程序的一種內(nèi)部表示,或稱中間語言。程序進(jìn)行詞法
分析和語法分析以后,將程序轉(zhuǎn)換成中間代碼。這一轉(zhuǎn)換的作用是使程序的結(jié)構(gòu)更加簡單和
規(guī)范。中間代碼生成操作是一個(gè)中間過程,與用戶是無關(guān)的。
?。?)代碼優(yōu)化。代碼優(yōu)化是指對程序進(jìn)行多種等價(jià)變換,使得從變換后的程序能生成更
有效的目標(biāo)代碼。用戶可以在編譯程序時(shí)設(shè)置代碼優(yōu)化的參數(shù),可以針對不同的環(huán)境和設(shè)置
進(jìn)行優(yōu)化。
?。?)目標(biāo)代碼生成。目標(biāo)代碼生成指的是產(chǎn)生可以執(zhí)行的應(yīng)用程序,這是編譯的最后一
個(gè)步驟。生成的程序是二進(jìn)制的機(jī)器語言,用戶只能運(yùn)行這個(gè)程序,而不能打開這個(gè)文件查
看程序的
- linux 下嵌入式開發(fā)
- 嵌入式學(xué)習(xí)培訓(xùn)能學(xué)會(huì)嗎?嵌入式開發(fā)培訓(xùn)都要學(xué)什么?
- 嵌入式開發(fā)培訓(xùn)學(xué)什么?嵌入式開發(fā)板知識講解
- 視頻教程-嵌入式Linux文件與串口編程-嵌入式
- 嵌入式開發(fā)Linux入門
- 視頻教程-嵌入式Linux開發(fā)基礎(chǔ)-嵌入式
- 嵌入式LINUX開發(fā)三步走
- 視頻教程-嵌入式Linux多任務(wù)編程-嵌入式
- 嵌入式linux串口編程
- 嵌入式linux編程開發(fā)必備知識
- 嵌入式linux報(bào)警,嵌入式Linux下LED報(bào)警燈驅(qū)動(dòng)設(shè)計(jì)及編程.doc
- 嵌入式開發(fā)(一):嵌入式開發(fā)新手入門
- ARM11嵌入式系統(tǒng)Linux下LCD的驅(qū)動(dòng)的設(shè)計(jì)
- 嵌入式開發(fā)要學(xué)什么嵌入式開發(fā)的一些入門教材推薦 27次下載
- 嵌入式開發(fā)Linux網(wǎng)絡(luò)編程培訓(xùn)資料的詳細(xì)資料免費(fèi)下載 34次下載
- fpga是嵌入式開發(fā)嗎 698次閱讀
- 嵌入式開發(fā)到底是什么 4956次閱讀
- 嵌入式開發(fā)的產(chǎn)品有哪些_嵌入式開發(fā)的流程 1w次閱讀
- 詳細(xì)盤點(diǎn)工程師嵌入式開發(fā)必備工具讓工作事半功倍 5570次閱讀
- 基于Mac上做嵌入式開發(fā)簡析 3829次閱讀
- 嵌入式開發(fā)好學(xué)嗎_嵌入式開發(fā)職業(yè)發(fā)展方向是什么 8950次閱讀
- 什么是嵌入式開發(fā)板_學(xué)嵌入式用什么開發(fā)板 6944次閱讀
- 嵌入式開發(fā)和單片機(jī)開發(fā)有什么區(qū)別和聯(lián)系 3.5w次閱讀
- 嵌入式C實(shí)現(xiàn)延時(shí)程序的不同變量的區(qū)別 幾種Linux嵌入式開發(fā)環(huán)境的簡單介紹 1566次閱讀
- 嵌入式開發(fā)工具有哪些_五款嵌入式開發(fā)工具推薦 4w次閱讀
- 學(xué)嵌入式開發(fā)入門_學(xué)嵌入式開發(fā)需要看哪些書籍 2.4w次閱讀
- 想學(xué)嵌入式開發(fā)必須要學(xué)哪些知識點(diǎn) 3w次閱讀
- 一文看懂嵌入式開發(fā)與c++開發(fā)有什么不同 2.3w次閱讀
- 嵌入式開發(fā)環(huán)境的搭建 8304次閱讀
- 嵌入式開發(fā)就業(yè)前景分析_嵌入式領(lǐng)域的職業(yè)發(fā)展方向 1.8w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評論
查看更多