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

链接://www.greatytc.com/p/2f1c3d2ca5c5

来源:简书

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容