gpt4 book ai didi

c - 是否有一个标准的 C malloc 类似函数采用双指针来避免碎片?

转载 作者:行者123 更新时间:2023-12-01 19:37:54 25 4
gpt4 key购买 nike

当前 malloc 函数的问题是它不跟踪存储返回的内存位置的变量。由于内存移动更加困难,因此可能会出现碎片。

MMU只能在一定程度上解决这个问题。假设 malloc 采用双指针并跟踪变量。调用 free 将允许 free 在内存中移动并更改内存位置。

我不太可能是第一个想到这个问题的人,所以我想知道是否有一个标准的 C 函数可以执行此操作或 POSIX 函数?

我知道这个想法并不完美。该程序必须传递相同的变量而不是复制它,但是它确实解决了碎片问题,当我使用低内存设备时,这对我来说很重要。

最佳答案

当然,如果需要,realloc() 函数会将先前分配的内存块移动到新的(更大的)位置。但是,它不一定会影响碎片。

我的解决方案(C语言)是(在内存不足的情况下)进行我自己的内存管理。

关于c - 是否有一个标准的 C malloc 类似函数采用双指针来避免碎片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24276887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com