malloc

作者: 滩主 | 来源:发表于2020-08-15 09:54 被阅读0次
    #include <unistd.h>
    #include <stdlib.h>
    #include <stdio.h>
    
    int main()
    {
      char* m0 = sbrk(0);
      printf("sbrk origin:%p\n",m0);
    
      for (int i=0;i<10;i++) {
        char* p1 = malloc(16);
        char* m1 = sbrk(0);
        printf("sbrk:offset:%d %p %p\n",m1-m0,m1,p1);
        printf("header:%p %d\n",(void*)(*((int*)(p1-8))),*((int*)(p1-4)));
      }
    }
    
    image.png

    jemalloc的分配malloc(8)
    可以看出应该是使用的bitmap 标记是否在用,没有header
    而且是直接使用mmap


    image.png

    相关文章

      网友评论

          本文标题:malloc

          本文链接:https://www.haomeiwen.com/subject/qqnodktx.html