C/C++語(yǔ)言的編譯器操作概述
出處:feng_zc 發(fā)布于:2009-01-08 11:23:53
1.集成的預(yù)處理器(Integrated Preprocessor)
C/C++的預(yù)處理器集成在分析器工具中,可以提高代碼的編譯速度。用戶可以只進(jìn)行預(yù)處理也可以將預(yù)處理列表 保存在文件中。TMS320X28xx的C/C++編譯器包含杯準(zhǔn)的預(yù)處理功能,這些功能主要完成下列預(yù)處理任務(wù):
●宏定義和擴(kuò)展;
● #include 文件處理
●條件編譯處理;
●其他碩處理標(biāo)識(shí)(在原代碼文件中以#字符開始的特定的代碼段)。
2.代碼優(yōu)化
編譯器采用先進(jìn)的優(yōu)化技術(shù)對(duì)C/C++源代碼進(jìn)行優(yōu)化,如圖1所示,從而減小代碼的尺寸,提高代碼的效率和運(yùn)行 速度。C28x優(yōu)化器充分利用C28x的結(jié)構(gòu)特點(diǎn)對(duì)其代碼進(jìn)行優(yōu)化,生成更高效率的代碼。優(yōu)化器是位于分析器和代碼 產(chǎn)生器中間的優(yōu)化工具,簡(jiǎn)單的方法就是使用clZOOO—v2S shell程序,并通過-o選項(xiàng)確定優(yōu)化級(jí)別。

圖1 帶有優(yōu)化的編譯操作
優(yōu)化器總計(jì)有4個(gè)優(yōu)化級(jí)別,分別對(duì)應(yīng)不同的優(yōu)化程序。
(1) -o0
●簡(jiǎn)化控制流圖(Control flow graph);
●將變量分配到寄存器;
●完成循環(huán)旋轉(zhuǎn)(Loop Rotation);
●刪除未使用的代碼;
●簡(jiǎn)化表達(dá)式和語(yǔ)句;
●內(nèi)聯(lián)聲明未inline的函數(shù)。
?。?) -o1
●完成所有00的優(yōu)化操作;
●運(yùn)行局部復(fù)制/常數(shù)傳遞;
●刪除未使用的賦值語(yǔ)句;
●刪除局部公共表達(dá)式(Local Common Expression)。
?。?) -o2
●完成所有-ol的優(yōu)化操作;
●完成循環(huán)優(yōu)化;
●刪除全局公共子表達(dá)式(Global Common Expression);
●刪除全局未使用的賦值語(yǔ)句;
●如果使用o優(yōu)化但不標(biāo)注優(yōu)化的級(jí)別,則系統(tǒng)默認(rèn)為-O2優(yōu)化。
(4)-o3
●完成所有-o2的優(yōu)化操作;
●刪除未使用的函數(shù);
●當(dāng)函數(shù)的返回值沒有用到時(shí),簡(jiǎn)化函數(shù)的返回形式;
●內(nèi)聯(lián)小的函數(shù);
●記錄函數(shù)聲明以便當(dāng)優(yōu)化調(diào)用時(shí)知道調(diào)用函數(shù)的屬性;
●當(dāng)所有調(diào)用都傳遞一個(gè)相同的參數(shù)時(shí),把這個(gè)參數(shù)直接放在函數(shù)體中,不通過寄存器/存儲(chǔ)器的方式傳遞這個(gè)參數(shù);
●識(shí)別文件級(jí)變量特性。
上述各級(jí)別的優(yōu)化都是通過優(yōu)化器來實(shí)現(xiàn)的,此外代碼生成器也要運(yùn)行其他優(yōu)化,尤其是和處理器相關(guān)的優(yōu)化。而代碼生成器的優(yōu)化操作總會(huì)被運(yùn)行,與是否運(yùn)行優(yōu)化器沒有關(guān)系。
歡迎轉(zhuǎn)載,信息來源維庫(kù)電子市場(chǎng)網(wǎng)(m.58mhw.cn)
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- EDA技術(shù)工具鏈與全流程設(shè)計(jì)運(yùn)維指南2026/1/5 10:28:51
- PLC程序現(xiàn)場(chǎng)疑難問題排查與深度優(yōu)化指南2025/12/24 14:36:36
- PLC程序現(xiàn)場(chǎng)調(diào)試與優(yōu)化實(shí)操指南2025/12/24 14:29:57
- 工業(yè)PLC模擬量信號(hào)采集:調(diào)理技術(shù)與抗干擾工程方案2025/12/15 14:39:08
- PLC設(shè)備如何選型2025/9/5 17:15:14
- PCB基材選型與性能適配核心技術(shù)規(guī)范
- 過采樣技術(shù)與數(shù)字濾波如何共同提升 ADC 的有效位數(shù)
- MOSFET寄生參數(shù)對(duì)電路性能的影響
- 集成與分立方案:電機(jī)驅(qū)動(dòng)電源設(shè)計(jì)如何選?
- 汽車電子連接器應(yīng)用與要求
- PCB埋盲孔設(shè)計(jì)與工藝適配核心技術(shù)規(guī)范
- 如何提高M(jìn)OSFET在惡劣環(huán)境下的可靠性?
- 繼電器觸點(diǎn)壽命及可靠性分析
- 可重構(gòu)濾波器技術(shù):滿足多標(biāo)準(zhǔn)通信系統(tǒng)的靈活需求
- 磁集成技術(shù)在小型化電源設(shè)計(jì)中的應(yīng)用









