資料介紹
在進(jìn)行 C 程序開發(fā)時,編譯就是將編寫的 C 語言代碼變成可執(zhí)行程序的過程,這一過程
是由編譯器來完成的。編譯器就是完成程序編譯工作的軟件,在進(jìn)行程序編譯時完成了一系
列復(fù)雜的過程。
1.1.1 程序編譯的過程
在執(zhí)行這一操作時,程序完成了復(fù)雜的過程。一個程序的編譯,需要完成詞法分析、語
法分析、中間代碼生成、代碼優(yōu)化、目標(biāo)代碼生成。本章將講解這些步驟的作用與原理。
?。?)詞法分析。指的是對由字符組成的單詞進(jìn)行處理,從左至右逐個字符地對源程序進(jìn)
行掃描,產(chǎn)生一個個的單詞符號。然后把字符串的源程序改造成為單詞符號串的中間程序。
在編譯程序時,這一過程是自動完成的。編譯程序會對代碼的每一個單詞進(jìn)行檢查。如果單
詞發(fā)生錯誤,編譯過程就會停止并顯示錯誤。這時需要對程序中的錯誤進(jìn)行修改
(2)語法分析。語法分析器以單詞符號作為輸入,分析單詞符號串是否形成符合語法規(guī)
則的語句。例如,需要檢查表達(dá)式、賦值、循環(huán)等結(jié)構(gòu)是否完整和符合使用規(guī)則。在語法分
析時,會分析出程序中錯誤的語句,并顯示出結(jié)果。如果語法發(fā)生錯誤,編譯任務(wù)是不能完
成的。
?。?)中間代碼生成。中間代碼是源程序的一種內(nèi)部表示,或稱中間語言。程序進(jìn)行詞法
分析和語法分析以后,將程序轉(zhuǎn)換成中間代碼。這一轉(zhuǎn)換的作用是使程序的結(jié)構(gòu)更加簡單和
規(guī)范。中間代碼生成操作是一個中間過程,與用戶是無關(guān)的。
(4)代碼優(yōu)化。代碼優(yōu)化是指對程序進(jìn)行多種等價變換,使得從變換后的程序能生成更
有效的目標(biāo)代碼。用戶可以在編譯程序時設(shè)置代碼優(yōu)化的參數(shù),可以針對不同的環(huán)境和設(shè)置
進(jìn)行優(yōu)化。
?。?)目標(biāo)代碼生成。目標(biāo)代碼生成指的是產(chǎn)生可以執(zhí)行的應(yīng)用程序,這是編譯的最后一
個步驟。生成的程序是二進(jìn)制的機(jī)器語言,用戶只能運(yùn)行這個程序,而不能打開這個文件查
看程序的代碼。
	
- Linux下C語言編程入門教程詳細(xì)說明 39次下載
 - LINUX系統(tǒng)教程之如何在Linux系統(tǒng)下進(jìn)行編程 9次下載
 - Linux操作系統(tǒng)下C語言編程入門.pdf 96次下載
 - Linux下C編程 嵌入式開發(fā) 31次下載
 - 基于Linux操作系統(tǒng)下C語言編程入門 11次下載
 - Linux下C編程基礎(chǔ)之常用編輯器淺析 0次下載
 - Linux下C編程基礎(chǔ)之使用autotools 0次下載
 - Linux下C編程基礎(chǔ)之實(shí)驗(yàn)內(nèi)容及小結(jié) 0次下載
 - Linux下的C編程實(shí)戰(zhàn) 1次下載
 - Linux下C編程基礎(chǔ) 5次下載
 - Linux下C編程 48次下載
 - Linux下C編程 10次下載
 - Linux下C編程 0次下載
 - Linux下C編程電子書 0次下載
 - linux下c語言編程pdf 0次下載
 
- Linux應(yīng)用編程的基本概念 265次閱讀
 - Linux 下GCC的編譯 2679次閱讀
 - Linux 下的make 工具和 Makefile 1210次閱讀
 - 深入探索Linux中的C語言 2015次閱讀
 - 如何在Linux系統(tǒng)下開啟wifi 4553次閱讀
 - Linux系統(tǒng)編程有哪些優(yōu)勢 1279次閱讀
 - 整理思維!史上最全Linux/C/C++思維導(dǎo)圖! 4371次閱讀
 - 為什么Linus不用C井語言寫Linux系統(tǒng) 3763次閱讀
 - 淺談嵌入式Linux下的C語言編程知識要點(diǎn) 4704次閱讀
 - 嵌入式Linux下的C編程知識要點(diǎn)匯總 3147次閱讀
 - 基于嵌入式linux系統(tǒng)下的串口編程具體設(shè)置詳解 7022次閱讀
 - 基于嵌入式Linux下的I2C設(shè)備驅(qū)動的總體思路與框架設(shè)計(jì) 3771次閱讀
 - 關(guān)于Linux下多線程編程技術(shù)學(xué)習(xí)總結(jié) 2217次閱讀
 - 搭建測試環(huán)境常用linux命令_linux下web測試環(huán)境的搭建 1.1w次閱讀
 - Linux下ARM 和單片機(jī)的串口通信設(shè)計(jì) 3486次閱讀
 
下載排行
本周
- 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天練會電子電路識圖
 - 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é)會AVR單片機(jī)與C語言視頻教程 下載
 - 158M | 183277次下載 | 免費(fèi)
 - 8proe5.0野火版下載(中文版免費(fèi)下載)
 - 未知 | 138039次下載 | 免費(fèi)
 
	                電子發(fā)燒友App
	            
	        
	        
          
        
        
	                    
                        
                        
                        
                        
                        


創(chuàng)作
發(fā)文章
發(fā)帖  
提問  
發(fā)資料
發(fā)視頻
上傳資料賺積分
           
            
            
                
            
評論