最佳答案
-rdynamic
(或者链接器级别的 --export-dynamic
)到底是做什么的? 它与 -fvisibility*
标志或者 pragma
和 __attribute__
所定义的符号可见性有什么关系?
对于 --export-dynamic
,Ld (1)提到:
如果你使用“ dlopen”来加载一个动态对象,这个对象需要引用 程序定义的符号,而不是其他动态符号 对象,那么你可能需要 在链接程序本身时使用此选项。 ..。
我不确定我是否完全理解。你能不能提供一个例子,不工作没有 -rdynamic
,但与它呢?
编辑 :
我实际上尝试编译了几个虚拟库(单文件、多文件、各种 O 级别、一些函数间调用、一些隐藏符号、一些可见) ,有的使用了 -rdynamic
,有的没有使用。到目前为止,我已经得到了 字节相同输出(当然是在保持所有其他标志不变的情况下) ,这非常令人困惑。