gpt4 book ai didi

c - 微型内存管理器

转载 作者:行者123 更新时间:2023-12-02 06:45:44 27 4
gpt4 key购买 nike

我有一大块内存,让我们说'NN'MB。我想要一个只从这个内存中分配的自定义内存管理器。内存管理器应该能够使用已经可用的 block 进行分配和释放。如果它也能处理碎片就太好了。

已编辑:我正在寻找一些 C 语言的开源软件,或者是否有一些 API,例如 malloc 和 free。

最佳答案

能够“处理”碎片是一个相当苛刻的要求。如果您的意思是管理器必须能够对内存进行碎片整理,这意味着它不能具有标准的 C malloc() API。您需要一个间接 API,其中内存分配不是由实际的可直接取消引用的地址引用,而是由更抽象的东西引用。

这是因为您的内存管理器必须能够在碎片整理期间移动分配的内存块,如果应用程序将直接绝对指针保存到分配的内存中,它就不能这样做。

当然,强制应用程序间接使用内存意味着许多常见的 C 习惯用法和 API 会被打破,因为自由使用指针的期望在 C 中很常见。

关于c - 微型内存管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/728895/

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