内存管理器
文章平均质量分 70
George_Don
这个作者很懒,什么都没留下…
展开
-
内存分配器三
已经实现了自己的malloc函数Imalloc,但是内存管理还是需要calloc,free,relloc函数来管理内存: calloc:在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针,并将内存空间置0,在32位机上是4bytes一个内存块大小;如果分配不成功,返回NULL。 void *Icalloc(size_t number,size_t size){原创 2016-01-14 19:22:45 · 391 阅读 · 0 评论 -
内存分配器二
虽然在IMalloc.c实现了内存申请的工作,但是这比实际中malloc函数的功能差了很多。必须要将堆中申请的内存管理起来,才能更好地实现malloc函数以及后面的free和realloc函数。 本节内容主要介绍完整实现malloc的功能,可以用于内存块管理。 需要给每个内存块添加额外的信息(meta-data):内存块的大小,下一个内存块的地址,当前内存块是否可用。meta-data应该在ma原创 2016-01-13 17:07:38 · 400 阅读 · 0 评论 -
内存分配器一
glibc内存管理学习 http://www.cnblogs.com/tianchi/archive/2012/08/02/2620634.html x86平台Linux进程内存布局: text:ELF格式程序代码 data:程序运行时就能确定的数据,可读可写 bss:没有初始化的全局变量和静态表里 heap stack:由编译器自动分配释放,存放函数参数、局部变量等 Mmap:映射原创 2016-01-12 22:08:55 · 391 阅读 · 0 评论 -
ptmalloc源码阅读-malloc_chunk
内存管理不外乎三个层面,用户管理层,C运行时库层,操作系统层 目前轮子处于运行时库层,制作这个轮子的目的是为了了解底层内存分配是如何实现的,后面肯定主要是实现用户管理层。 常见C内存管理程序: Doug Lea Malloc:Doug Lea Malloc实际上是完整的一组分配程序,其中包括Doug Lea的原始分配程序,GNU libc分配程序和ptmalloc。Doug Lea的分配程序原创 2016-01-18 22:43:28 · 915 阅读 · 0 评论