0
最近,我问在接受采访时写函数内存损坏 -内存峰值,并使用malloc和free
- mymalloc将返回分配到现在的内存地址的峰值。
- myfree这将告诉用户是否做了一些内存损坏的操作。例如。程序从101到200位分配内存地址。如果程序在外界101和200之外写入,它被认为是内存损坏。
注意:这些函数可以使用malloc并在内部自由分配和释放内存。
有人可以请指导我这一点。
最近,我问在接受采访时写函数内存损坏 -内存峰值,并使用malloc和free
注意:这些函数可以使用malloc并在内部自由分配和释放内存。
有人可以请指导我这一点。
mymalloc可以使用sbrk(0)的值来检查程序堆中断的当前位置。
检查腐败部分有点棘手。如果你只是想确保200以后的字节被修改或不被修改,那么这可以实现。由于每个内存分配在保存分配大小的分配缓冲区大小之前都有一个标题,因此您可以检查下一个区块的标题,即存储在位置201的标题,以确保程序确实跨越其边界以写入201.