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

正文內(nèi)容

第10章存儲組織-資料下載頁

2025-01-20 10:01本頁面
  

【正文】 signed usedsize。 unsigned freesize。 }s。 Align a。 }Header。//數(shù)據(jù)類型 Header保存每個存儲塊的簿記信息 static Header mem [MEMSIZE]。 static Header *memptr= NULL。 void *malloc (unsigned nbytes) {Header *p, *newp。 unsigned nunits。 nunits= (nbytes+sizeof (Header)1/ sizeof (Header)+1。 if (memptr == NULL) 69 {memptrs. next = memptr = mem。 memptrs. usedsize = 1。 memptrs. freesize = MEMSIZE1。 } for (p=memptr。 (ps. next!= memptr) (ps. freesize nunits)。 p=ps. next)。 if (ps. freesize nunits) return NULL。 /* no block big enough */ newp = p+ps. usedsize。 newps. usedsize= nunits。 newps. freesize = ps. freesizenunits。 70 newp = ps. next。 ps. freesize=0。 ps. next= newp。 memptr=newp。 return (void *)(newp+1)。 } void free (void *ap) {Header * bp, *p, *prev。 bp= (Header *) ap –1。 for (prev= memptr, p=memptrs. next。 (p!=bp) (p!= memptr)。 prev=p, p=ps. next)。 if (p!=bp) return。 /* corrupted list, do nothing */ prevs. freesize += ps. usedsize + ps. freesize。 prevs. next = ps. next。 memptr = prev。 } 71 堆的自動管理 隱式存儲回收 在一種需要完全動態(tài)的運行時環(huán)境的語言( OO語言 , 函數(shù)式語言 Lisp,ML)中 , 堆也必須類似地自動管理 。 自動存儲器管理涉及到了前面分配的但不再使用的存儲器的回收 , 可能是在它被分配的很久以后 ,而沒有明確的對 free的調(diào)用 。 這個過程稱作垃圾回收 ( grabage collection) 。 72 垃圾回收 垃圾回收程序 尋找可被引用的所有存儲器并釋所有未引用的存儲器。 在存儲塊不再引用時,無論是直接還是通過指針間接的引用,識別這些存儲塊是一項比維護堆存儲 的列表復(fù)雜得多的任務(wù)。 方法 對 malloc的調(diào)用失敗,激活垃圾回收程序 垃圾回收算法 mark and sweep 73 隱式存儲回收 —mark and sweep算法 隱式存儲回收要求用戶程序和支持運行的回收子程序并行工作,因為回收程序需要知道分配給用戶程序的存儲塊何時不再使用。為了實現(xiàn)并行工作,在存儲塊中要設(shè)置回收子程序訪問的信息。 存儲塊格式: 塊長度 訪問計數(shù)標(biāo)記 指針 用戶使用空間 74 回收過程 分為兩個階段 。 ( 1) 第一個階段為標(biāo)記階段 , 對已分配的塊跟蹤程序中各指針的訪問路徑 。 如果某個塊被訪問過 , 就給這個塊加一個標(biāo)記 。 ( 2) 第二個階段為回收階段 , 所有未加標(biāo)記的存儲塊回收到一起 , 并插入空閑塊鏈表中 , 然后消除在存儲塊中所加的全部標(biāo)記 。 75 面向?qū)ο蟮恼Z言中的動態(tài)存儲器 面向?qū)ο蟮恼Z言在運行時環(huán)境中要求特殊的機制以完成其增添的特性:對象 、 方法 、繼承以及動態(tài)聯(lián)編 。 面向?qū)ο笳Z言在對運行時方面的要求差異很大 。 Smalltalk要求與 LISP相似的完全動態(tài)環(huán)境 C++則保持 C的基于棧的環(huán)境 76 實現(xiàn)對象 實現(xiàn)對象的一個簡單機制是,初始化代碼將所有當(dāng)前的繼承特征(和方法)直接地復(fù)制到記錄結(jié)構(gòu)中(將方法當(dāng)作代碼指針)。但這樣做極浪費空間。 另外一種方法是在執(zhí)行時將類結(jié)構(gòu)的一個完整的描述保存在每個點的存儲器中,并由超類指針維護繼承性(有時這也稱作繼承圖( inheritance graph))。接著同用于它的實例變量的域一起,每個對象保持一個指向其定義類的指針,通過這個類就可找到所有(局部和繼承的)的方法。此時,只記錄一次方法指針(在類結(jié)構(gòu)中),而且對于每個對象并不將其復(fù)制到存儲器中。由于是通過類繼承的搜索來找到這個機制的,所以該機制還實現(xiàn)繼承性與動態(tài)聯(lián)編。其缺 在于:雖然實例變量具有可預(yù)測的偏移量(正如在標(biāo)準(zhǔn)環(huán)境中的局部變量一樣),方法卻沒有,而且它們必須由帶有查詢功能的符號表結(jié)構(gòu)中的名字維護。這是對于諸如 Smalltalk的高度動態(tài)語言的合理的結(jié)構(gòu),因為類結(jié)構(gòu)可以在執(zhí)行中改變。 77 C++中選擇的方法 將整個類結(jié)構(gòu)保存在環(huán)境中 , 計算出每個類的可用方法的代碼指針列表 , 并將其作為一個虛擬函數(shù)表 ( virtual function table) 而存放在( 靜態(tài) ) 存儲器 。 它的優(yōu)點在于:可做出安排以使每個方法都有一個可預(yù)測的偏移量 ,而且也不再需要用一系列表查詢遍歷類的層次結(jié)構(gòu) 。 現(xiàn)在每個對象都包括了一個指向相應(yīng)的虛擬函數(shù)表而不是類結(jié)構(gòu)的指針 ( 當(dāng)然 ,這個指針的位置必須也有可預(yù)測的偏移量 ) 。 78 例 C++類聲明: class A {public: double x,y。 void f()。 virtual void g()。 }。 class B:public A {public: double z。 void f()。 virtual void h()。 }。 類 A的一個對象應(yīng)出現(xiàn)在存儲器中 ( 帶有它的虛擬函數(shù)表 ) 而類 B的一個對象則應(yīng)如下所示: x y vtp A::g B::h A::g X Y vtp z 79 靜夜四無鄰,荒居舊業(yè)貧。 , February 8, 2023 雨中黃葉樹,燈下白頭人。 09:59:4009:59:4009:592/8/2023 9:59:40 AM 1以我獨沈久,愧君相見頻。 :59:4009:59Feb238Feb23 1故人江海別,幾度隔山川。 09:59:4009:59:4009:59Wednesday, February 8, 2023 1乍見翻疑夢,相悲各問年。 :59:4009:59:40February 8, 2023 1他鄉(xiāng)生白發(fā),舊國見青山。 2023年 2月 8日星期三 上午 9時 59分 40秒 09:59: 1比不了得就不比,得不到的就不要。 2023年 2月 上午 9時 59分 :59February 8, 2023 1行動出成果,工作出財富。 2023年 2月 8日星期三 9時 59分 40秒 09:59:408 February 2023 1做前,能夠環(huán)視四周;做時,你只能或者最好沿著以腳為起點的射線向前。 上午 9時 59分 40秒 上午 9時 59分 09:59: 沒有失敗,只有暫時停止成功!。 , February 8, 2023 很多事情努力了未必有結(jié)果,但是不努力卻什么改變也沒有。 09:59:4009:59:4009:592/8/2023 9:59:40 AM 1成功就是日復(fù)一日那一點點小小努力的積累。 :59:4009:59Feb238Feb23 1世間成事,不求其絕對圓滿,留一份不足,可得無限完美。 09:59:4009:59:4009:59Wednesday, February 8, 2023 1不知香積寺,數(shù)里入云峰。 :59:4009:59:40February 8, 2023 1意志堅強的人能把世界放在手中像泥塊一樣任意揉捏。 2023年 2月 8日星期三 上午 9時 59分 40秒 09:59: 1楚塞三湘接,荊門九派通。 2023年 2月 上午 9時 59分 :59February 8, 2023 1少年十五二十時,步行奪得胡馬騎。 2023年 2月 8日星期三 9時 59分 40秒 09:59:408 February 2023 1空山新雨后,天氣晚來秋。 上午 9時 59分 40秒 上午 9時 59分 09:59: 楊柳散和風(fēng),青山澹吾慮。 , February 8, 2023 閱讀一切好書如同和過去最杰出的人談話。 09:59:4009:59:4009:592/8/2023 9:59:40 AM 1越是沒有本領(lǐng)的就越加自命不凡。 :59:4009:59Feb238Feb23 1越是無能的人,越喜歡挑剔別人的錯兒。 09:59:4009:59:4009:59Wednesday, February 8, 2023 1知人者智,自知者明。勝人者有力,自勝者強。 :59:4009:59:40February 8, 2023 1意志堅強的人能把世界放在手中像泥塊一樣任意揉捏。 2023年 2月 8日星期三 上午 9時 59分 40秒 09:59: 1最具挑戰(zhàn)性的挑戰(zhàn)莫過于提升自我。 2023年 2月 上午 9時 59分 :59February 8, 2023 1業(yè)余生活要有意義,不要越軌。 2023年 2月 8日星期三 9時 59分 40秒 09:59:408 February 2023 1一個人即使已登上頂峰,也仍要自強不息。 上午 9時 59分 40秒 上午 9時 59分 09:59: MOMODA POWERPOINT Lorem ipsum dolor sit, eleifend nulla ac, fringilla purus. Nulla iaculis tempor felis amet, consectetur adipiscing elit. Fusce id urna blanditut cursus. 感謝您的下載觀看 專家告訴
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1