如何在Linux 64位机器上找出数据结构实现的内存布局

use*_*855 10 linux ram virtual-memory linux-kernel data-structures

在本文中,http://cacm.acm.org/magazines/2010/7/95061-youre-doing-it-wrong/fulltext

作者讨论了2个数据结构的内存布局 - 二进制堆和B堆,并比较了一个比另一个更好的内存布局(图5和图6).

我想亲身体验一下这个.我有一个N-Ary树的实现,我想找出我的数据结构的内存布局.提出像文章中那样的内存布局的最佳方法是什么?

其次,我认为如果它是基于数组的实现,则更容易识别内存布局.如果Tree的实现使用指针,那么我们有什么工具或者需要什么样的方法来映射它的内存布局?

use*_*197 3

设计一个代码进行data-structure测试

data-structure使用重要值(0x00000000, , ... )预填充被测对象0x01111111,突出显示布局边框和属于data-structure元素的数据

使用调试工具查看data-structure被测编码元素在体内使用的实际实时内存内容和布局

(要有系统性和耐心)