在 malloc 钩子的文档中'Save underlying hooks'是什么意思?



malloc钩子的文档可以在这里找到http://www.gnu.org/s/hello/manual/libc/Hooks-for-Malloc.html.

在实现malloc()free()的钩子函数时,必须保存底层的钩子。

/* Save underlying hooks */
old_malloc_hook = __malloc_hook;
old_free_hook = __free_hook;

我理解malloc钩子,但不理解这部分。为什么old_malloc_hook要再次设置。我以为它给出了一个参考(或类似的东西)原来的malloc()功能?

提前感谢:)

这个想法是,一旦你的钩子被激活,你的钩子函数有了控制权,你就可以恢复任何现有的钩子,并继续向内调用一个真正的malloc()。

如果每个想要钩子malloc的子系统都这样做,那么每个钩子都被激活,无论谁第一个或最后一个进行设置。

相关内容

  • 没有找到相关文章

最新更新