注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

偶有所得,记录在此

有分享交流才有进步,永远不要固步自封

 
 
 

日志

 
 

实现了一个简单的内存管理器  

2010-04-22 17:32:05|  分类: c programming |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
项目地址: http://code.google.com/p/pysoft/source/browse/#svn/trunk/c-project/mem_collector

简要介绍:

  这是一个防止内存泄漏的内存管理器。
 
  原理很简单,用一个链表,记录下所分配内存的地址,可以单独 free
  一块内存,也可以调用 destory 函数直接 free 掉所有相关内存。
 
  只要确保及时的对每个内存地址链表执行 destory 操作,即可保证无内存泄漏。
 
接口如下:

void* mc_malloc(mc_collector_t **mc, size_t size)
   mc 为指向 mc_collector_t * 的指针,初始化为 NULL 即可,如下:
  
   mc_collector_t *mc;
   mc = NULL;
   char *data = mc_malloc(&mc, 1024);
  
   size 为所申请内存的大小,使用 malloc 来分配内存。
 
void mc_free(void *data);
   free 由 mc_malloc 分配出的内存。
  
void mc_destory(mc_collector_t **mc);
   遍历 mc 链表,free 所有相关内存,并设置 mc 为 NULL。
  
  
可以自由使用代码,有问题请与我联系 weizhonghua.ati@gmail.com


 
 
  评论这张
 
阅读(669)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017