共享库内部

时间:2009-09-05 12:25:49

标签: linux linker shared-libraries loader

我希望知道共享库如何工作我在符号表引用方面提出要求。 就像我们包含一个共享库一样,它导出Symbol表进行处理然后基于我们执行相应函数的一些指针。

Shared library Strip是什么意思?

编辑: - 我想知道共享库在加载到内存时的工作原理。          当一个函数让我们说Fun()从具有def库的应用程序调用时。然后如何发生这种联系。我希望现在很清楚。

1 个答案:

答案 0 :(得分:4)

程序通过过程链接表调用共享库,过程链接表由动态链接器/加载器ld.so根据动态符号表和重定位条目中的信息填充。在Linux上,此数据以ELF格式存储在程序和库中,您可以使用objdumpreadelf等程序进行检查。

This Linux Journal article有一个基本的概述。有关更多详细信息,请查看Ulrich Drepper的优秀论文How To Write Shared Libraries和Solaris Linker and Libraries Guide