ELF对象文件是否存储依赖库的文件系统路径?

时间:2016-12-13 19:58:19

标签: ld elf static-linking abi object-files

当我们将可执行文件与ld链接时,我们给出了可执行文件所依赖的库列表。这是这些库的位置信息的唯一来源,还是有关在目标文件中作为元数据存储的从属库的首选版本的一些信息?

具体问题是:如果我链接两个依赖于第三个库lA的依赖库lBlC,并在链接上放置对这些库的引用线。似乎lA中的C ++类方法调用lC的不同版本而不是lB中的类方法。这怎么可能?我通过查看gdb中的回溯来了解这一点。

1 个答案:

答案 0 :(得分:1)

他们可能会。 Dialogs.ShowMessage(Format('Frac1=%f Frac2=%f', [Frac(Frac(135.45)*100), Frac(45)])); 用于符号解析。它们还包括完整的对象名称,可能包含版本号,如果库正确使用版本控制,则符号实际上不会相互冲突。

我可以将您发送到我的博客,了解对DT_RPATHDT_RPATH的一些看法: