我在小数据中成功运行了我的代码但是当我尝试使用大型数据时,它给了我
"损坏的双链表:"
在小数据中,如果我删除free()函数,错误就会消失并且代码可以正常工作,但是在大数据中,无论是否释放,代码都会出现此错误。
在我的代码中创建malloc并使用free,如下所示,
int **msgcount = malloc(partnum*sizeof(int*));
for(i=0; i<partnum; i++)
msgcount[i] = malloc( partnum*sizeof(int));
...lots of code
for(i=0;i<partnum;i++)
{
free(msgcount[i]);
}
答案 0 :(得分:1)
此消息来自glibc,意味着您遇到了内存损坏或双重释放了相同的指针。尝试在valgrind下运行,找到发生腐败的地方。