精華區beta EE_DSnP 關於我們 聯絡資訊
請看清楚題目.... 1. mtr without parameter --> MemBlock size remains unchanged (page 3 line 15) 2. 當然是 "size跟原來一樣,但接在後面". 否則 MemBlock::_nextBlock 要幹嘛? 而且如果 resize memory block 且將 data copy過去的話, 原來的 pointer 變數要怎麼對應呢? ※ 引述《ijb ()》之銘言: : 用老師的執行檔測以下的指令: : mtest> mtr ----------------------> 什麼都不打,似乎輸入0 : Resetting memMgr...(0) : mtest> mtp : ========================================= : = Memory Manager = : ========================================= : * Block size : 65536 Bytes : * Number of blocks : 1 : * Free mem in last block: 65536 : * Recycle list : : ========================================= : = class MemTest = : ========================================= : Object list --- : Array list --- : mtest> mtr 100 : Resetting memMgr...(100) : mtest> mtp : ========================================= : = Memory Manager = : ========================================= : * Block size : 100 Bytes : * Number of blocks : 1 : * Free mem in last block: 100 : * Recycle list : : ========================================= : = class MemTest = : ========================================= : Object list --- : Array list --- : mtest> mtr : Resetting memMgr...(0) -------> 什麼都不打,應該輸入0,但是block size=100 : 我想問輸入都不打時,輸入值應該是?? : mtest> mtp : ========================================= : = Memory Manager = : ========================================= : * Block size : 100 Bytes : * Number of blocks : 1 : * Free mem in last block: 100 : * Recycle list : : ========================================= : = class MemTest = : ========================================= : Object list --- : Array list --- : Quiz 2: : 若memory new 超過blocksize時, : 再new一個block時, : a. size跟原來一樣,但接在後面,還是 : b. new一個兩倍大的size memblock, 原本的memblock free掉嗎? : 若是a的話,若系統剛好不夠這塊memory時,該怎麼辦? : 若是b的話,回收的mem是不是都要放棄掉 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.134.49