为什么会出现C malloc断言失败?
我正在实现分而治之多项式算法,因此可以将其对照OpenCL实现进行基准测试,但无法malloc正常工作。当我运行程序时,它会分配一堆东西,检查一些东西,然后将其发送size/2给算法。然后,当我malloc再次点击该行时,它会吐出以下内容: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end …