我的操作系统类分配需要定义一个名为的 C 函数free
,它的工作方式与 libc 不同free
。(我们正在做一个内存分配器练习。)
我所有的代码都使用我自己的变体free
,所以在我自己的代码中这不是问题。然而,当 glibc 在free
内部使用时(例如用于 vprintf),它最终会使用 myfree
而不是它自己的。
我正在使用 Ubuntu 11.10(libc6 版本 2.15-0ubuntu10)。我听说它不会发生在其他 Ubuntu 版本上,我想知道我是否可以通过一些编译/链接标志来获得其他版本的行为。
顺便说一句,命名自己的函数free
不是最佳实践,但假设我别无选择:-)