浅析malloc & free工作原理
摘要:
平时我们在码程序的时候,经常会遇到要动态申请内存,申请之后当然要记得释放,我们用的最多的当然就是malloc(申请)/free(释放),现在来简单分析一下其基本工作原理:图1 到 图8 给出了 malloc & free 的基于链表简单实现图1图2图3图4图5图6图7图8图中白色背景的框表示malloc管理的空闲内存块,深灰色背景的框不归malloc管,可能是已分配给用户的内存块,也可能是不属于当前进程;break之上的地址不属于当前进程,需要通过brk系统调用向内核申请。每个内存块都有一个头节点,里面有一个指针字段和一个长度字段,指针字段把所有空闲块的头节点串在一起,组成一个环形链表 阅读全文
posted @ 2013-03-05 15:28 DJYang 阅读(924) 评论(1) 推荐(2) 编辑