1. 首页
  2. 考试认证
  3. 其它
  4. malloc schmalloc malloc()和free()的实现与系统编程的错误检测

malloc schmalloc malloc()和free()的实现与系统编程的错误检测

上传者: 2024-10-16 07:25:48上传 ZIP文件 8.28KB 热度 2次

malloc-schmalloc带有错误检测的malloc()和free()的实现。Malloc/Free with Error Detection – Amar Bakir和Firas Sattar设计该程序实现了malloc/free的模拟版本,并带有额外的错误检查。我们使用memEntry结构来保存所有malloc指针的日志。每个memEntry结构都记录块是否空闲、块大小、指向前一个memEntry的指针和指向下一个memEntry的指针。我们根据指针值按升序保存了memEntry结构的SortedList(来自PA2)。当我们malloc新块时,它们被添加到这个排序列表中。这允许我们检查从未被malloc分配的指针和已经被释放的指针(两个通用测试用例)。如果一个块足够大可以被拆分(如果它有足够的空间来进行操作),我们可以进一步进行操作和优化。

用户评论