我想用c语言模拟一下malloc和free,但是我不清楚他们的流程是什么样的,请大家帮帮忙,给我讲一下他们的运行的具体过程或者原理,流程。
你可以跟踪到malloc或free的源代码里去查看。
这个是比较复杂也很简单的。
malloc就是申请一段内存空间,free就是释放指定的内存空间。
当然,申请和释放要讲究一些安全策略,而且,这个申请也是想操作系统申请,想硬件系统申请。
当malloc成功或,OS会把指定内存空间设置为已被使用,而free则相反。
malloc过程:
检查是否有指定大小的空间块
如果有,设置指定空间块为已被使用
返回指定空间块的地址
而free则要简单,只是将指定空间块的已使用标志取消