- 相關(guān)推薦
c語言優(yōu)化階段
優(yōu)化一部分是對(duì)中間代碼的優(yōu)化。這種優(yōu)化不依賴于具體的計(jì)算機(jī)。另一種優(yōu)化則主要針對(duì)目標(biāo)代碼的生成而進(jìn)行的。
優(yōu)化階段
優(yōu)化處理是編譯系統(tǒng)中一項(xiàng)比較艱深的技術(shù)。它涉及到的問題不僅同編譯技術(shù)本身有關(guān),而且同機(jī)器的硬件環(huán)境也有很大的關(guān)系。優(yōu)化一部分是對(duì)中間代碼的優(yōu)化。這種優(yōu)化不依賴于具體的計(jì)算機(jī)。另一種優(yōu)化則主要針對(duì)目標(biāo)代碼的生成而進(jìn)行的。上圖中,我們將優(yōu)化階段放在編譯程序的后面,這是一種比較籠統(tǒng)的表示。
對(duì)于前一種優(yōu)化,主要的工作是刪除公共表達(dá)式、循環(huán)優(yōu)化(代碼外提、強(qiáng)度削弱、變換循環(huán)控制條件、已知量的合并等)、復(fù)寫傳播,以及無用賦值的刪除,等等。
后一種類型的優(yōu)化同機(jī)器的硬件結(jié)構(gòu)密切相關(guān),最主要的是考慮是如何充分利用機(jī)器的各個(gè)硬件寄存器存放的有關(guān)變量的值,以減少對(duì)于內(nèi)存的訪問次數(shù)。另外,如何根據(jù)機(jī)器硬件執(zhí)行指令的特點(diǎn)(如流水線、RISC、CISC、VLIW等)而對(duì)指令進(jìn)行一些調(diào)整使目標(biāo)代碼比較短,執(zhí)行的效率比較高,也是一個(gè)重要的研究課題。
經(jīng)過優(yōu)化得到的匯編代碼必須經(jīng)過匯編程序的匯編轉(zhuǎn)換成相應(yīng)的機(jī)器指令,方可能被機(jī)器執(zhí)行。
【c語言優(yōu)化階段】相關(guān)文章:
嵌入式C語言優(yōu)化技巧10-27
c語言空間換時(shí)間優(yōu)化代碼的方法10-10
嵌入式C語言性能優(yōu)化方法10-22
c語言空間換時(shí)間優(yōu)化代碼的技巧方法06-19
如何優(yōu)化C代碼09-23
如何優(yōu)化C程序性能04-27
C語言和C++的區(qū)別09-19
C語言和C++的分別06-18
C語言和C++的區(qū)別精選10-16