我在以下代码中使用 Doug Lea 的malloc.c和malloc.h :
#include <stdio.h>
#include <string.h>
#include "dlmalloc.h"
#define USE_DL_PREFIX
int main()
{
char *test = dlcalloc(5, 1);
strcpy(test, "helloextra");
dlfree(test); /* Shouldn't this crash? */
printf("%s", test);
return 0;
}
并test
正确打印!有人可以解释一下吗?我在想我没有正确调整这个 malloc。以前有人遇到过这个问题吗?
遇到这个问题后,我开始使用 Doug Lea 的 malloc 。