自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 free源码分析---2

free源码分析—_int_free根据上一章的分析可知,如果一个chunk不是由mmap分配得到,最后会调用_int_free进行释放。void __libc_free(void *mem) { ... p = mem2chunk(mem); if (chunk_is_mmapped(p)){ ... } ar_ptr =

2015-12-15 23:22:45 4028

原创 free源码分析---1

free源码分析本章继续之前的glibc中的malloc源码分析开始分析free的源码,malloc的源码分析可以查看同类别下的《malloc源码分析—1》到《malloc源码分析—5》,因为free的源码中有一些结构和malloc相似的地方就不会做过多的介绍了。首先在glibc的malloc.c中有如下定义,strong_alias( __libc_free, __cfree)we

2015-12-13 22:32:20 4690

原创 malloc源码分析---5

malloc源码分析—sysmalloc本章主要分析sysmalloc的代码,在《malloc源码分析—2》中已经分析了sysmalloc的一部分,主要针对分配去没有初始化的情况。本章查看余下的代码,static void * sysmalloc(INTERNAL_SIZE_T nb, mstate av) { mchunkptr old_top; INTERNAL_S

2015-12-12 23:15:17 3333 1

原创 malloc源码分析---4

malloc源码分析—4上一章分析了_int_malloc中的fastbin、smallbin和部分largebin的处理,本章继续往下看代码,static void * _int_malloc(mstate av, size_t bytes) {... for (;;) { int iters = 0; while ((victim = un

2015-12-09 21:08:39 3217

原创 malloc源码分析---3

malloc源码分析—_int_malloc上一章分析了_int_malloc的前面一小部分,本章继续往下看,static void * _int_malloc(mstate av, size_t bytes) { ... if ((unsigned long) (nb) <= (unsigned long) (get_max_fast ())) { i

2015-12-07 21:01:03 3969

原创 malloc源码分析---2

malloc源码分析—_int_malloc根据上一章的分析,malloc会调用__libc_malloc分配内存,__libc_malloc会调用malloc_hook_ini 进行初始化,然后回调__libc_malloc函数,这时候会执行_int_malloc开始分配内存,定义在malloc.c中,因为非常长,这里分段来看,_int_malloc第一部分static void *

2015-12-05 15:40:14 7160 1

原创 malloc源码分析---1

malloc源码分析本文分析malloc的源码,首先从glibc开始,首先看malloc.c文件中的一段定义,strong_alias (__libc_malloc, __malloc) strong_alias (__libc_malloc, malloc)strong_alias是GNU C中的定义,编译器判定这里malloc是__libc_malloc的别名,__libc_m

2015-12-01 00:34:27 15327 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除