Possible Duplicate:
What is the best solution to replace a new memory allocator in an existing code?


我正在用C语言编写一个库。我想知道是否有一种方法可以将我的库调用进行的每个malloc()转移到我提供的另一个“增强的” testmalloc()函数中,而无需(显着)修改我的库。这个问题的灵感来自Kernighan和Pike的“编程实践”的p158,他们说


编写一个存储分配器的版本,该版本有意地提前失败,以测试您的代码以从内存不足错误中恢复。


我可以提供包装器mymalloc()并将其专门用于我的库中。我怀疑在链接过程中有必要使用这种自由度来避免多个符号定义。

最佳答案

除了Yossarian的答案外,您还可以使用malloc钩子,该钩子至少为GNU C library定义。

关于c - 替换C中的函数定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1867271/

10-11 15:05
查看更多