库函数的新实现并在其中调用旧实现

时间:2011-06-23 10:10:24

标签: c++ c linux

我想在Linux中实现一些自定义库函数。例如,我想实现自己的 pthread_mutex_lock pthread_mutex_unlock malloc 免费功能。我读过 LD_PRELOAD 可以用来使用你自己的自定义函数,虽然我还没有详细介绍。

但我有一个问题,我也想在我的新实现中使用原始函数。这样做的诀窍是什么,因为两者都有相同的名称?

1 个答案:

答案 0 :(得分:3)

您可以使用dlopen函数打开您替换的库(如果已经加载了RTLD_NEXT,请参阅注释),然后使用dlsym函数查找函数的地址。那个你要打电话的图书馆。