chunk结构

使用 中的堆


1)size of previous chunk

这是前面一个 chunk 的大小,这里的前面一个指的是低地址的那一个

2)size of chunk

这个 chunk 的大小。而且这个 chunk 的大小一定是 8 的倍数。所以低三位是 0,由于低三位是 0,是固定值,可以将这些固定值,用来表示其他的含义,反正计算大小的时候,统一把他们当成 0 就好了。下面从高到低介绍这些标志的意思

A:是不是「主分配区」分配的内存 1 表示不是主分配区分配的,0 表示是主分配区分配的

M:是不是 Memory Mapped 分配的内存,1 表示是,0 表示是 heap

P:表示前一个 chunk 是否在使用,在初始化的时候通常为 1,防止使用不能访问的内存

3)user data

作者:madao756

链接:https://www.jianshu.com/p/2f1c3d2ca5c5

来源:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(chunk结构)