【发布时间】:2013-10-19 01:58:32
【问题描述】:
我目前正在开发一个自定义 malloc 函数,该函数要么定期添加它,要么添加到最适合的块中。意思是最接近大小的块。我在程序中最合适的部分遇到了麻烦。这是我拥有的代码:
我也有:
static * First = NULL;
static * Rover = NULL;
因此,在最适合的函数中,我有一个 do while 循环,它围绕循环链表进行一次。它应该找到最适合用户尝试 malloc 的内存的块。除非它在以下位置出现故障:
if(best->size > Rover->size)
我认为我的逻辑是有道理的,但我不明白为什么我会遇到 seg 错误。
在函数的最开始,我最好声明为:
*best = NULL;
best = Rover;
有什么想法吗?
【问题讨论】:
-
你为什么从问题中删除你的代码? SSCCE 基本上总是首选而不是用文字解释您的代码。
-
代码应该在哪个平台上运行?适用于 Windows 还是 Unix?
标签: c algorithm function segmentation-fault malloc