【发布时间】:2020-02-17 10:51:55
【问题描述】:
我试图了解在动态加载库的情况下如何解析符号。我观察到库的符号是使用作为库的动态依赖项链接的库来解析的。可以使用 - ldd <share_file_name.so>
这是正确的吗?
之前我假设加载器会查看LD_LIBRARY_PATH 并查看所有库以解析库中的符号。
但现在我想一想,我就明白为什么不能使用这种方法了。原因是,如果加载程序必须查看LD_LIBRARY_PATH 中列出的目录中的所有库,那么解析符号的方式将非常不优化。如果目录有一百万个文件,那么它会很慢,因为任何文件都可以有符号。
【问题讨论】:
-
man ld.so包含您要查找的信息。
标签: linux gcc ld dynamic-loading