C语言内存池使用模型-2
上一篇 /
下一篇 2012-10-08 10:19:11
/ 个人分类:C语言
51Testing软件测试网"fR*nQ)E:g 五、内存池管理内存机制(单链表管理结构)
1A[-Ww.SM(V051Testing软件测试网6}F,u-_\B
q 这里主要是讨论,从内存块申请开始,就是申请了一个pheap结构指向内存块,然后内存池以什么形式将内存块组织起来,这一个很重要的结构是struct pfree结构。51Testing软件测试网DO)Qiu5I:Q
^)j\j;Aq0 看一下前面申请内存块之后,这时还只是一个pheap结构,没有和内存池关联起来,在前方我们看到,是通过下面代码进行关联的
9XO{#?HA S051Testing软件测试网)v(M+^
ctG'Kg_Wu{5E0 clean = _pool_free(p, _pool_heap_free, (void *)ret);51Testing软件测试网,[0id&Y3s clean->heap = ret; /* for future use in finding used mem for pstrdup */51Testing软件测试网)Ec*i6|D@)qavq0e _pool_cleanup_append(p, clean); |
\v/J-tTS0 _pool_free为该内存块定义的一个结构进行初始化,如下调用