如何解决是否可以在 .so 库中使用包装函数?如果没有,是否有任何可以提供相同功能的东西?
在二进制 foo
中,它调用函数 pthread_mutex_lock()
。我无法访问其源代码,因此无法重新编译它。但我想让它使用我自己的锁实现。
要使用我自己的锁,我想创建一个库 lock.so
,然后使用 LD_PRELOAD
替换原来的 pthread_mutext_lock
调用。但是我需要在 pthread_mutex_lock
的实现过程中使用 lock()
。无论如何我可以使用包装函数(-Wl,-wrap=pthread_mutex_lock
)来做到这一点?我相信 ld
是由链接器执行的,是吗?那么如果我不能使用包装函数,我该怎么做呢?
感谢您的任何建议。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。