我有一个使用共享库的动态链接的Linux可执行文件。这些库中的一个库具有该库中其他函数使用的功能-该库的目标代码包含在该库中。我想提供该函数的替代实现,以便那些其他函数可以调用我的代码,而不是调用库中的原始代码。

有办法吗?

最佳答案

不使用新更改编译库就无法执行此操作。

如果这些函数是全局函数或静态函数,则肯定必须重新编译。

如果这些函数是虚拟成员函数,并且您的应用程序/库具有挂钩/可扩展性或工厂类的东西,则可以向应用程序中新建派生对象。

否则,您必须重新编译库代码。

关于c++ - 在Linux上动态链接期间符号的替代实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24657710/

10-09 09:03