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

问题描述

| 我想在Linux中实现一些自定义函数。例如,我想实现自己的pthread_mutex_lock,pthread_mutex_unlock,malloc和free函数。我读过LD_PRELOAD可以用来使用您自己的自定义函数,尽管我没有详细介绍。 但是我有一个问题,我也想在新的实现中使用原始功能。这样做的诀窍是什么,因为两者将具有相同的名称?     

解决方法

        您可以使用
dlopen
函数打开要替换的库(或如果已加载RTLD_NEXT,请使用注释,参见注释),然后使用ѭ1that函数在要调用的库中查找该函数的地址。