内存分配
示例1
int a[5] = {1,2,3,4,5}
汇编结果:
movl $0x1c,0x1f(%esp): 把立即数1存放在esp寄存器中指向地址+0x1c的地址( 0x6afefc)中- 后面的代码分别存储2,3,4, 5 到依次偏移4个字节的地址中(int 占 4个字节)
- 在memory中查看6afefc地址中的数据
示例2
int *a = new int[3];
汇编结果:
movl $0xc,(%esp)把立即数12存放在寄存器esp指向的地址中
表明需要12个字节的存储空间、

本文深入探讨C++内存分配的过程,通过汇编代码和内存分析,展示了如何在不同示例中分配和存储数据。详细分析了ESP寄存器的变化以及在内存中的实际存储情况。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



