gpt4 book ai didi

linux - 如何在共享库中的链接时(不是加载时)解析弱符号

转载 作者:太空狗 更新时间:2023-10-29 11:22:21 24 4
gpt4 key购买 nike

我又遇到了共享库在其他地方找到一些符号的事故比里面本身。我怎样才能防止这种情况发生?我已经在使用 -fvisibility=hidden。看起来所有模板函数都被编译为弱符号,并且仅在加载时解析。我已经在使用 RTLD_DEEPBIND 来避免这个问题——但是 purify 忽略了这个选项。

最佳答案

这个问题的解决方案似乎是来自 GNU binutils 的 objcopy 命令。它允许改变符号属性。使用的选项可能是--localize-symbols=文件名或者--globalize-symbols=文件名另一种方法是使用 g++ 编译器选项 -fno-weak——但是 g++ 手册页不鼓励使用这个选项——我不确定为什么——来自 C++ 库的某些符号可能最终必须是弱的。

关于linux - 如何在共享库中的链接时(不是加载时)解析弱符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20480129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com