gpt4 book ai didi

linux - 过度链接和欠链接 .so 文件时是否会损失性能?

转载 作者:太空狗 更新时间:2023-10-29 12:20:08 25 4
gpt4 key购买 nike

有些人正在链接共享对象文件,因此他们的 NEEDED 列表中没有条目,并且在将这些 SO 文件链接到二进制文件时,将所有 SO 文件的传递依赖项放入创建的二进制文件的 NEEDED 列表中,而不考虑二进制文件是否真的需要那些 SO 文件。

前者不将所需的 SO 文件链接到某个 SO 文件的行为称为欠链接,后者将过多的 SO 文件链接到某个二进制文件的行为称为过度链接>。

我正在与我的同事讨论这种构建应用程序及其 SO 文件的方案是否会在构建或运行应用程序或其 SO 文件时强加任何性能成本。例如,PLT 的动态符号解析是否会产生额外成本?有人可以对此有所了解吗?

最佳答案

它肯定会改变符号查找的性能,可能会变得更糟。 ELF 符号解析是广度优先搜索,从可执行文件本身的符号表开始,然后是可执行文件的 DT_NEEDED 库的符号表,然后是那些库的 DT_NEEDED 符号表,等等。通过过度链接主可执行文件,您可能会强制更多符号查找以遍历更多库的符号表。

关于linux - 过度链接和欠链接 .so 文件时是否会损失性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12175759/

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