首页 新闻 会员 周边 捐助

c语言的malloc和free的原理

0
[已解决问题] 解决于 2012-06-04 19:28

我想用c语言模拟一下malloc和free,但是我不清楚他们的流程是什么样的,请大家帮帮忙,给我讲一下他们的运行的具体过程或者原理,流程。

思仔的主页 思仔 | 菜鸟二级 | 园豆:207
提问于:2012-05-29 22:21
< >
分享
最佳答案
1

你可以跟踪到malloc或free的源代码里去查看。

这个是比较复杂也很简单的。

malloc就是申请一段内存空间,free就是释放指定的内存空间。

当然,申请和释放要讲究一些安全策略,而且,这个申请也是想操作系统申请,想硬件系统申请。

当malloc成功或,OS会把指定内存空间设置为已被使用,而free则相反。

malloc过程:

检查是否有指定大小的空间块

如果有,设置指定空间块为已被使用

返回指定空间块的地址

 

而free则要简单,只是将指定空间块的已使用标志取消

奖励园豆:5
无之无 | 大侠五级 |园豆:5095 | 2012-05-30 08:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册