作者bnsblue (想当你的天空)
看板EE_DSnP
标题[问题] 再请问一下为什麽我的阵列大小会多4 byte
时间Fri May 2 19:14:07 2008
我遇到一个奇怪的情况
就是我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
1F:→ bnsblue:而且我想顺便请问一下大家的S大小是多少呢? 我的是16@@ 05/02 19:16
2F:→ bnsblue:喔喔我猜是工作站是64-bit作业系统的关系? 05/02 19:28
3F:推 fairyflame:我的S是12吧 05/02 19:39
4F:推 ric2k1:64-bit 底下 MemTestObj 仍然是 12 Bytes, 不过我会让 05/02 20:34
5F:→ ric2k1:memory allocation 大小与 sizeof(size_t) 成倍数. 05/02 20:37
6F:→ ric2k1:所以在 32-bit machine 为 12 = 4*3, 而 64-bit 为 16=8*2 05/02 20:38
7F:→ bnsblue:恩恩了解了!谢谢老师! 05/02 23:56