c-如何修改glibc中的malloc行为,并测试它是否按预期工作



我想使用malloc来分配内存,但我不想在malloc中使用动态分配方式。相反,我想使用malloc来分配一个大的块/池,这样我就可以";新的";将一些变量/对象放入这个大型内存块/池中。因此,我想修改glibc中的malloc源代码(例如malloc/malloc.c(,使其适用于我的场景。

修改glibc源代码并测试其功能最方便、最有效的方法是什么?我想到的一种方法是下载glibc源代码,修改代码,然后配置/make/make-install,但这会非常麻烦,因为我必须经常测试修改后的malloc版本,以确保它正常工作。

非常感谢你的帮助!感谢所有的答案和想法。

您可以在代码中使用LD_PRELOAD(假设它是动态链接的(来插入自己的malloc实现。

你想要的听起来很像竞技场分配。此库可能已满足您的需要:https://github.com/thejefflarson/arena

最新更新