linux上动态链接期间符号的替代实现
Alternative implementation of a symbol during dynamic linking on linux
我有一个动态链接的linux可执行文件,它使用共享库。其中一个库中有一个函数被该库中的其他函数使用——该函数的目标代码包含在这个库中。我想提供该函数的替代实现,这样,而不是调用库中的原始代码,那些其他函数将调用我的代码。
有办法吗?
如果没有对库进行新的修改,就不能这样做。
如果这些函数是全局函数或静态函数,则必须重新编译。
如果这些函数是虚拟成员函数,如果你的应用程序/库有钩子/可扩展性或工厂之类的东西来给应用程序添加一个派生对象,你可以修改它。
相关文章:
- 使用无符号int作为二进制来在c++中实现一个集
- 为什么我不能使用在 Visual C++ 32 位中实现运算符无符号 int() 作为数组索引的类?
- 是否可以确定函数的参数是否已签名或无符号,以实现可能性超载函数
- 有符号整数和无符号整数C++的实现差异
- 如何从uint8_t的缓冲区读取带符号整数,而不调用未定义或实现定义的行为
- C 实现CNN错误添加符号:命令行中缺少DSO
- 实现内存管理模板类时未解析的外部符号
- 仅使用标头实现的重复符号
- 未解决的外部符号,具有自定义阻塞队列实现
- 高效的无符号到签名转换,避免实现定义的行为
- 高效实现 64 位和 32 位无符号整数之间的双向映射
- 实现自定义非线性最小化,从符号数学到C
- 来自 vtable 的未定义符号是否意味着接口和实现之间存在错误
- 为什么 Vulkan 的 VkBool32 被实现为无符号的 int?
- 在文件中使用仅 C 标头实现时未定义的符号C++
- 我能否在 uint_fast64_t 和无符号长整型之间实现类型等效性
- BigInt实现-将字符串转换为存储为无符号int的二进制表示
- visual如何在c++中实现变音符号
- GLSL截断符号距离表示(TSDF)实现
- 在带有模板的链表实现中无法解析的外部符号