看板 EE_DSnP 關於我們 聯絡資訊
我遇到一個奇怪的情況 就是我new出來的陣列會比平常的再多4 bytes 就是如下指令 mtn 1 -a 1 reference的執行檔會出來 mtest> mtn 1 -a 1 Calling allocArr...(16) Calling MemMgr::getMem...(16) Memory acquired... 0x8058c30 我的會出來 mtest> mtn 1 -a 1 Calling allocArr...(20) Calling MemMgr::getMem...(20) Memory acquired... 0x516860 請問有人也遇到相同情況嗎@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.18.221
bnsblue:而且我想順便請問一下大家的S大小是多少呢? 我的是16@@ 05/02 19:16
bnsblue:喔喔我猜是工作站是64-bit作業系統的關係? 05/02 19:28
fairyflame:我的S是12吧 05/02 19:39
ric2k1:64-bit 底下 MemTestObj 仍然是 12 Bytes, 不過我會讓 05/02 20:34
ric2k1:memory allocation 大小與 sizeof(size_t) 成倍數. 05/02 20:37
ric2k1:所以在 32-bit machine 為 12 = 4*3, 而 64-bit 為 16=8*2 05/02 20:38
bnsblue:恩恩瞭解了!謝謝老師! 05/02 23:56