編譯原理第十章 優化

2021-09-24 10:56:40 字數 791 閱讀 6560

1 區域性優化是在(b )範圍內進行的優化?

a 過程體 b 基本塊 c 函式體 d 迴圈體

2 有關基本歸納變數的作用,錯誤的是(d )

a 自身定值 b 計算其它同族歸納變數 c 控制迴圈 d 記錄迴圈的結果

3 在迴圈內可以實行的優化有(d )

a **外提 b 刪除歸納變數 c 強度削弱 d 以上都有

4 利用dag進行區域性優化,不能實現(c )

a 刪除公共子表示式 b 刪除無用賦值 c **外提d 合併已知量

5 對於基本快內out集合由in集合計算出來,而對於基本塊之間,in集合由前驅基本塊的out集合計算出來。這樣的資料流問題屬於(a )

a 向前流問題 b 向後流問題 c 任意路徑問題 d 全路徑問題

1 優化應該不計一切代價追求高效的程式。

錯誤2 對於所有相同的表示式,僅保留乙個,刪除其餘,稱作刪除公共子表示式

錯誤3 只要在迴圈中不會發生變化的運算,都是可以進行**外提的。

錯誤4 合併已知量是將編譯時可以計算出的值計算出來,不必等到執行時再計算

正確5 強度削弱是指把程式中執行時間較長的運算替換為執行時間較短的運算

正確6 刪除公共子表示式是一種區域性優化,僅在基本塊內可採用此方法

錯誤7 dag是有向無環圖,利用dag可實現區域性優化

正確8 分析表示式的可用性,可用來進行全域性公共子表示式的優化。

正確9 乙個變數若在某基本塊出口處是活躍的,則其在該基本塊入口處也必定是活躍的

錯誤10 交換語句順序並沒有減少語句的數量,所以不是一種優化方法

錯誤

編譯原理 第十章複習題 優化

區域性優化是在 b 範圍內進行的優化?a 過程體 b 基本塊 c 函式體 d 迴圈體 有關基本歸納變數的作用,錯誤的是 d a 自身定值 b 計算其它同族歸納變數 c 控制迴圈 d 記錄迴圈的結果 在迴圈內可以實行的優化有 d a 外提 b 刪除歸納變數 c 強度削弱 d 以上都有 利用dag進行區...

第十章 函式

使用def關鍵字 定義個數可變的位置形參 定義個數可變的關鍵字形參 定義預設值引數 定義個數可變的位置形參 deffun1 args 結果為乙個元組 print args fun1 10,20,30 10,20,30 定義個數可變的關鍵字形參 deffun2 args 結果為乙個字典 print a...

第十章 屬性

z屬性 本章也比較簡單稍作介紹 無參屬性就是我們常見的屬性 可以封裝屬性 以執行緒安全方式訪問 有參屬性就是c 中的所引器 匿名型別 如圖遇到如下 具體點就是 上面的注釋也已經講清楚了,定義的型別之後,構造例項,然後初始化屬性。現在詳細說下 編譯器接收到 上圖 先用var 定義乙個型別,但是不具體指...