究竟是什么-rdynamic(或--export-dynamic在链接器级别)做什么以及它如何与由-fvisibility*标志或可见性pragmas和__attribute__s 定义的符号可见性相关?
对于--export-dynamic,ld(1)提到:
...如果使用"dlopen"加载需要引用程序定义的符号的动态对象,而不是某些其他动态对象,则在链接程序本身时可能需要使用此选项....
我不确定我完全明白这一点.能否请您提供一个例子,如果没有它可以工作-rdynamic但是没有它?
编辑:我实际上尝试编译了几个虚拟库(单个文件,多个文件,各种-O级别,一些函数间调用,一些隐藏符号,一些可见),有和没有-rdynamic,到目前为止我一直在字节相同的输出(当然保持所有其他标志不变),这是非常令人费解的.