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

正文內(nèi)容

目標(biāo)程序運(yùn)行時(shí)的存儲(chǔ)組織教材-wenkub

2023-03-12 02:26:20 本頁(yè)面
 

【正文】 地址 0 全局 display display display 全局 display 全局 display 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 TOP→ SP2→ SP1→ SP0→ 三 .分程序結(jié)構(gòu)的存儲(chǔ)管理( 自習(xí) ) ?一個(gè)分程序是一個(gè)含有它自己的局部數(shù)據(jù)(變量)聲明 的語(yǔ)句 ?在 C語(yǔ)言中,一個(gè)分程序的語(yǔ)法形式是: { 聲明 語(yǔ)句 } ?例如圖 C程序中的分程序 B0, B1, B2和 B3,分程 序的特征是它們的嵌套結(jié)構(gòu),使用界符標(biāo)明分程序的開 始和結(jié)束, C語(yǔ)言用 { } ?分程序結(jié)構(gòu)可以用棧式存儲(chǔ)分配實(shí)現(xiàn) ?一種辦法是把分程序看成一個(gè)“無(wú)參過程”,只不過是在 該分程序入口處調(diào)用,分程序出口處返回。 ..... end.{main} 并已知在運(yùn)行時(shí)刻,以過程為單位對(duì)程序中的變量進(jìn)行動(dòng)態(tài)存儲(chǔ)分配。{Z} begin ..... 10:Y。 begin ... end。 procedure X(i,j:integer)。 過程活動(dòng)記錄的內(nèi)容如圖 ( a)所示。 數(shù)據(jù)空間的三種不同使用方法和管理方法 ?從邏輯上看,代碼生成前,編譯程序必須進(jìn)行目標(biāo)程序 運(yùn)行環(huán)境的設(shè)計(jì)和數(shù)據(jù)空間的分配 ?數(shù)據(jù)空間包括:用戶定義的各種類型的數(shù)據(jù)對(duì)象(變量 和常量)所需的存儲(chǔ)空間,作為保留中間結(jié)果和傳遞參 數(shù)的臨時(shí)工作單元,調(diào)用過程時(shí)所需的連接單元,組織 輸入輸出所需的緩沖區(qū) ?運(yùn)行時(shí)的存儲(chǔ)區(qū)常常劃分成:目標(biāo)區(qū)、靜態(tài)數(shù)據(jù)區(qū)、棧 區(qū)、堆區(qū) ?圖 : ?代碼區(qū)用以存放目標(biāo)代碼,這是固定長(zhǎng)度的,即編譯時(shí) 能確定的 ?靜態(tài)數(shù)據(jù)區(qū)用以存放編譯時(shí)能確定所占用空間的數(shù)據(jù) ?堆棧區(qū)用于可變數(shù)據(jù)以及管理過程活動(dòng)的控制信息 ?編譯程序分配目標(biāo)程序運(yùn)行時(shí)的數(shù)據(jù)空間的基本依據(jù)是 程序語(yǔ)言設(shè)計(jì)時(shí)對(duì)程序運(yùn)行中存儲(chǔ)空間的使用和管理辦 法的規(guī)定 ?在程序設(shè)計(jì)語(yǔ)言語(yǔ)義學(xué)中,使用 environment表示將一個(gè) 名字映射到一個(gè)存儲(chǔ)位置的函數(shù), state表示存儲(chǔ)位置到 值的映射,如圖 : ?數(shù)據(jù)空間的使用和管理方法分成三種: ?靜態(tài)存儲(chǔ)分配 ?棧式動(dòng)態(tài)存儲(chǔ)分配 ?堆式動(dòng)態(tài)存儲(chǔ)分配 一 .靜態(tài)存儲(chǔ)分配 ?靜態(tài)存儲(chǔ)分配:在編譯時(shí)能確定目標(biāo)程序運(yùn)行中所需的 全部數(shù)據(jù)空間的大小,編譯時(shí)安排好目標(biāo)程序運(yùn)行時(shí)的 全部數(shù)據(jù)空間,確定每個(gè)數(shù)據(jù)對(duì)象的存儲(chǔ)位置 ?如像 FORTRAN程序是段結(jié)構(gòu)的,如圖 : ?圖 FORTRAN77的程序例子: 圖 ?圖 : 二 .動(dòng)態(tài)存儲(chǔ)分配 ?如果一個(gè)程序設(shè)計(jì)語(yǔ)言允許遞歸過程、可變數(shù)組或允許 用戶自由申請(qǐng)和釋放空間,那么,就需要采用動(dòng)態(tài)存儲(chǔ) 管理技術(shù) 三 .棧式動(dòng)態(tài)存儲(chǔ)分配 ?這種分配策略是將整個(gè)程序的數(shù)據(jù)空間設(shè)計(jì)為一個(gè)棧 四 .堆式動(dòng)態(tài)存儲(chǔ)分配 ?假設(shè)程序運(yùn)行時(shí)有一個(gè)大的存儲(chǔ)空間,每當(dāng)需要時(shí)就從 這片空間中借用一塊,不用時(shí)再退還,由于借還的時(shí)間 先后不一,經(jīng)一段運(yùn)行之后,程序運(yùn)行空間將被劃分成 許多塊,有些占用,有些空閑。那么當(dāng)運(yùn)行程序要求一 塊體積為 N的空間時(shí),需要決定應(yīng)該從哪個(gè)空閑塊得到這 個(gè)空間 ?理論上講 ,應(yīng)該從比 N稍大一些的空閑塊中取出 N個(gè)單元, 以便使大的空閑塊派更大的用場(chǎng),但實(shí)現(xiàn)難度很大 ?實(shí)際中常常采用的辦法:先遇到哪塊比 N大就從其中取出 N個(gè)單元 ?即使這樣,也會(huì)發(fā)生找不到一塊比 N大的空閑塊,但所有 空閑塊總和比 N大得多,這時(shí),有的分配管理系統(tǒng)采用廢 品回收的辦法來(lái)應(yīng)付 167。圖 到的情況可用圖 ( b)所示: ?因?yàn)?PL/O的過程是無(wú)參過程, PL/O也無(wú)動(dòng)態(tài)數(shù)組,所以 它的過程活動(dòng)記錄的內(nèi)容如圖 : ?再回到圖 ,如果該程序的某次執(zhí)行順序?yàn)椋? ?sort quicksort quicksort partition exchange? ?圖 exchange之后運(yùn)行棧的示意,僅 標(biāo)明存取鏈和控制鏈的值 ?另一種跟蹤方法是:每進(jìn)入一個(gè)過程后,在建立它的活 動(dòng)記錄的同時(shí)建立一張嵌套層次顯示表 display ?嵌套層次:指過程定義的層數(shù),始終假定主程序的層數(shù) 為 0,因此主程序稱為 0層過程 ?計(jì)數(shù)過程的層數(shù)用一個(gè)計(jì)數(shù)器 Level,初值為 0,每遇到過 程說明則增 1,過程說明結(jié)束則減 1 ?display是一個(gè)指針數(shù)組 d,也可看做是一個(gè)小棧,自頂向 下每個(gè)單元依次存放著現(xiàn)行層,直接外層, ?? 直至最 外層( 0層,主程序?qū)樱┑让恳粚舆^程的最新活動(dòng)記錄的 地址 ?圖 ,假定有如下四種調(diào)用情況: ?( a) sort quicksort? ?( b) sort quicksort quicksort? ?( c) sort quicksort quicksort partition? ?( d) sort quicksort quicksort partition exchange? ?圖 (a)(d)分別說明上述四種情形的運(yùn)行棧和 display ?display本身的體積在編譯時(shí)可確定,它作為單獨(dú)的表分配 存儲(chǔ)還是作為活動(dòng)記錄的一部分,比如置于實(shí)參的上端( 如圖 ),則取決于編譯程序的設(shè)計(jì)者 ?當(dāng)過程 P1調(diào)用過程 P2而進(jìn)入 P2后, P2應(yīng)如何建立起自己的 display? ?當(dāng) P1調(diào)用 P2時(shí)必須把 P0的 display地址作為連接數(shù)據(jù)之一傳 給 P2 ?如果 P2是一個(gè)真實(shí)過程,那么 P0或者就是 P1自身或者既是
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1