在一个循环中,我在开始时分配了一些内存(在 Linux ARM 上可能高达 2-3k),处理它然后释放它。由于循环有很多迭代,我想知道这种分配/解除分配是否会使堆碎片化,因此后续的“malloc”会失败。
伪代码如下所示:
...
while(...){
list=malloc(N);
// do some work with list
free(list);
}
在一个循环中,我在开始时分配了一些内存(在 Linux ARM 上可能高达 2-3k),处理它然后释放它。由于循环有很多迭代,我想知道这种分配/解除分配是否会使堆碎片化,因此后续的“malloc”会失败。
伪代码如下所示:
...
while(...){
list=malloc(N);
// do some work with list
free(list);
}