幾乎所有的程式語言都使用如下三種型別的儲存環境:
完全靜態環境、基於棧的儲存環境和基於堆的儲存環境的一種或幾種。
最簡單的執行時的環境型別是所有的資料都是靜態的。如果在編譯時就能確定目標程式執行中所需要的全部資料空間的大小,則編譯時就能安排好目標程式的全部資料空間。
在執行遞迴呼叫且每次呼叫都要重新分配區域性變數的語言中,需要使用棧式儲存分配,其分配策略:將整個儲存空間設計為乙個棧,每呼叫乙個過程就將它壓入棧。
程式語言允許資料物件能自由地分配和釋放,需要使用堆式儲存分配方法。
基本思想:乙個程式執行時有儲存空間,當執行期間需要時就從裡面申請一塊儲存空間,使用完畢歸還,多次後,將變成不相鄰的碎片塊區域。
目標**區用於存放生成的目標**,它的長度可以在編譯時確定
全程/靜態資料區用於存放編譯時所能確定占用空間大小的資料
堆、棧用於存放可變資料以及管理過程活動的控制資訊。
編譯原理 第八章 源程式的中間形式
目錄一般編譯程式都生成中間 然後再生成目標 優點是 可移植 與具體目標程式無關 且易於 優化 即字尾表示式 由中綴表示式翻譯為波蘭表示演算法較容易實現。構造乙個類似演算法優先分析法的演算法即可。波蘭表示法 優點 缺點 如 if 語句的波蘭表示 的頭乙個符號 乙個緊跟在後面的符號 bz 二目操作符。若...
第八章 動態儲存管理
一 選擇題 1.動態儲存管理系統中,通常可有 種不同的分配策略。長沙鐵道學院1998 三 3 2分 a 1 b.2 c.3 d.4 e.5 二 判斷題 1 在夥伴系統中的夥伴是指任意兩塊大小相同 位置相鄰的記憶體塊。北京郵電大學2000 一 8 1分 2 在動態儲存管理系統中做空間分配時,最佳適配法...
第八章 類的高階
訪問修飾符 公開訪問 用pbulic關鍵字。受保護訪問 用protected關鍵字。預設訪問 沒有訪問。私有訪問 用private關鍵字。封裝 組裝,累的定義 屬性和行為 資訊隱藏 1.訪問修飾符public protected 預設 private 2.方法的實現 呼叫者無需知道方法的具體步驟,只...