Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1320632
  • 博文数量: 179
  • 博客积分: 4141
  • 博客等级: 中将
  • 技术积分: 2083
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-21 20:04
文章存档

2024年(1)

2019年(13)

2016年(1)

2014年(16)

2011年(8)

2010年(25)

2009年(115)

分类: C/C++

2009-05-09 10:56:58

首先申请一个MALLOC_SIZE大小的内存空间,然后在这个内存空间上建立malloc管理数据结构:

struct malloc_header

{

  struct DListNode list;       // manage the free block and used block

  struct DListNode free_list;  // manage the free block

  uint_32 addr;

  int size;

};

一旦我们在内存中划分出一块内存的时候,就将它作为一个节点插入到链表中,由于分配,使得空间的内存空间可能会出现不连续的情况,因此,我们另外一个链表管理空闲的内存空间。


阅读(2201) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~