Memory management 使用malloc和free的内存峰值和内存损坏

Memory management 使用malloc和free的内存峰值和内存损坏,memory-management,malloc,free,Memory Management,Malloc,Free,最近在一次采访中,我被要求给职能部门写信- mymalloc,它将返回到目前为止分配的内存地址的峰值 myfree,它将告诉用户是否执行了一些导致内存损坏的操作。程序从位置101到200分配内存地址。如果程序在ie 101和200边界之外写入,则称为内存损坏 注意:这些函数可以在内部使用malloc和free来分配和释放内存 有人能在这方面指导我吗 mymalloc可以使用sbrk(0)的值来检查程序堆中断的当前位置 检查损坏部分有点棘手。如果您只是试图确保200之后的字节是否被修改,那么这是可

最近在一次采访中,我被要求给职能部门写信-

  • mymalloc,它将返回到目前为止分配的内存地址的峰值
  • myfree,它将告诉用户是否执行了一些导致内存损坏的操作。程序从位置101到200分配内存地址。如果程序在ie 101和200边界之外写入,则称为内存损坏 注意:这些函数可以在内部使用malloc和free来分配和释放内存

    有人能在这方面指导我吗

  • mymalloc可以使用sbrk(0)的值来检查程序堆中断的当前位置

  • 检查损坏部分有点棘手。如果您只是试图确保200之后的字节是否被修改,那么这是可以实现的。由于每个内存分配在存储分配大小的已分配缓冲区大小之前都有一个报头,因此您可以检查下一个块的报头,即存储在位置201的报头,以确保程序确实跨越其边界写入201