看板 EE_DSnP 關於我們 聯絡資訊
在測試./MemTest.debug中 我做了以下兩個指令: mtr 100 mtn 5 -a 3 --- 顯示訊息如下: mtest> mtn 5 -a 3 Calling allocArr...(40) Calling MemMgr::getMem...(40) Memory acquired... 0x80582c8 Calling allocArr...(40) Calling MemMgr::getMem...(40) Memory acquired... 0x80582f0 //2f0和2c8差40 Calling allocArr...(40) Calling MemMgr::getMem...(40) Recycling 0x8058318 to _recycleList[1] //318和2f0差40 New MemBlock... 0x80583b8 //3b8和318差160 Memory acquired... 0x80583d0 //3d0和3b8差24 Calling allocArr...(40) Calling MemMgr::getMem...(40) Memory acquired... 0x80583f8 //3f8和3d0差40 Calling allocArr...(40) Calling MemMgr::getMem...(40) Recycling 0x8058420 to _recycleList[1] //420和3f8差40 New MemBlock... 0x8058438 //438和420差24 Memory acquired... 0x8058450 //450和438差24 --- 黃色的部份我始終不懂為什麼會有160、24bytes等差距..... 如果是NewBlock的話 那第一個acquire到的memory不應該會跟NewBlock的位置重疊嗎 不好意思麻煩教授指示一下了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.235
ric2k1:New MemBlock 印的是 MemBlock* _activeBlock, 04/29 21:07
ric2k1:而 Memory acquired是MemTestObj*,兩者本來就沒有一定關係 04/29 21:07