使用 中的堆
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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。