我的電腦是64位的mac。我的64位機器每個內存位置只能存儲4個字節
在內存中的這些位置之一中存儲了多少個字節的信息?
當我在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。
感謝
謝謝,真的有幫助。我甚至懷疑我的代碼完全錯誤。 –
小問題,目前有些處理器不是「字節可尋址」的處理器,它們往往是嵌入式處理器(例如DSP),在這種處理器中,每桶滾筒是一塊非常大的硅片(例如乘以一千個處理器)。 – user3710044