【发布时间】:2015-08-17 01:11:13
【问题描述】:
我的电脑是 64 位 mac。
在内存中的这些位置之一中存储了多少字节的信息?
当我在 gdb 中尝试某些东西时
x /2x first
0x7ffff661c020: 0xf661b020 0x00007fff
我的代码是
#define PUT(p, val) (*((size_t *)(p)) = (val))
PUT(first, (size_t)some pointers);
我使用 gcc -g 编译
似乎只有 4 个字节存储在 0x7ffff661c020 中。 0x00007fff存储在 0x7ffff661c024 中。为什么它不能在 0x7ffff661c020 中存储 0x00007ffff661b020。
谢谢
【问题讨论】:
标签: c memory gdb 64-bit 32bit-64bit