freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

編譯原理優(yōu)化和目標(biāo)代碼生成2h(編輯修改稿)

2025-08-28 13:45 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 000]。 void Winky() { register int *p。 for (p = arr。 p arr + 10000。 p++) *p = 1。 } 12 目標(biāo): 作為一個(gè)高級(jí)語言的使用者很希望編譯程序所產(chǎn)生的代碼能夠和直接用機(jī)器語言編寫的程序效果一樣好。 代碼優(yōu)化是指對(duì)原代碼進(jìn)行的變換,從而獲得在時(shí)間和空間上效率相對(duì)高的程序,且一般也不是在時(shí)間和空間上最省的程序,在進(jìn)行優(yōu)化時(shí)應(yīng)該做到: 1 代碼的變換必須保持原程序的語義。 2 從理論上,變換加快了程序的速度。 3 這種變換是值得的 13 優(yōu)化分類 按階段分 : 與機(jī)器無關(guān)的優(yōu)化 對(duì) 中間 代碼進(jìn)行 依賴于機(jī)器的優(yōu)化 對(duì) 目標(biāo) 代碼進(jìn)行 根據(jù)優(yōu)化所涉及的程序范圍分成 : (1)局部?jī)?yōu)化 :(基本塊 )應(yīng)用于僅包含少量語句的小程序的優(yōu)化變換。 (2)循環(huán)優(yōu)化 :對(duì)循環(huán)中的代碼進(jìn)行優(yōu)化 (3)全局優(yōu)化 :大范圍的優(yōu)化 應(yīng)用于一個(gè)程序單元,如一個(gè)函數(shù)或一個(gè)過程的優(yōu)化變換。 14 程序的執(zhí)行效率是可以通過在編譯期間進(jìn)行優(yōu)化變換,不改變語義重寫程序段以提高程序的工作效率。雖然變換的方法很多,但是常用的大致有以下幾種: 1 編譯求值 2 合并預(yù)算 3 刪除死碼 4 減少頻率 5 強(qiáng)度削弱和變換循環(huán)條件 6 減少重寫傳播 15 局部?jī)?yōu)化: 所需要的開銷相對(duì)較低,因此從優(yōu)化所得到的收益也相對(duì)較低。 局部?jī)?yōu)化只是在較小的 程序段中進(jìn)行優(yōu)化,從而到達(dá)優(yōu)化的目的。 這種程序段稱為基本段。 全局優(yōu)化: 要產(chǎn)生高效的代碼,編譯程序僅在基本塊內(nèi)優(yōu)化是不夠的,編譯程序應(yīng)把程序作為一個(gè)整體來考慮,對(duì)各個(gè)基本塊的信息
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1