我正在实现我自己的malloc和free函数。如何进行错误检查,将静态变量传递到动态分配的变量上?假设我有:
char foo[10];
void *bar = malloc(5);
void free(void *p)
有没有办法告诉用户这是一个错误?
free(foo)
最好的办法是在内存管理函数中维护一个分配指针的表。
释放内存时不要忘记删除条目。
这
听起来可能很疯狂,
您需要在列表/结构中维护自定义 malloc() 函数中分配的指针。然后,在使用自定义 free() 函数时,检查维护的列表/结构中是否存在变量。