C++ linux上动态链接期间符号的替代实现
我有一个使用共享库的动态链接的linux可执行文件。其中一个库有一个供该库中的其他函数使用的函数-该函数的目标代码包含在此库中。我希望提供该函数的替代实现,以便其他函数调用我的代码,而不是调用库中的原始代码C++ linux上动态链接期间符号的替代实现,c++,linux,linker,C++,Linux,Linker,我有一个使用共享库的动态链接的linux可执行文件。其中一个库有一个供该库中的其他函数使用的函数-该函数的目标代码包含在此库中。我希望提供该函数的替代实现,以便其他函数调用我的代码,而不是调用库中的原始代码 有什么方法可以做到这一点吗?如果不使用新的更改编译库,就无法做到这一点 如果这些函数是全局函数或静态函数,则必须重新编译 如果这些函数是虚拟成员函数,并且您的应用程序/库具有挂钩/可扩展性或工厂之类的功能,可以将派生对象添加到应用程序中,您可以对其进行更改 否则,您必须重新编译库代码。不能不
有什么方法可以做到这一点吗?如果不使用新的更改编译库,就无法做到这一点 如果这些函数是全局函数或静态函数,则必须重新编译 如果这些函数是虚拟成员函数,并且您的应用程序/库具有挂钩/可扩展性或工厂之类的功能,可以将派生对象添加到应用程序中,您可以对其进行更改
否则,您必须重新编译库代码。不能不重新编译库;除非函数允许函子或多态性。如果可以使用LD_PRELOAD,则可以提供替代实现。你可以在网上或网上阅读更多关于它的信息。谢谢,这正是我想要的。