1

我想知道我在符号表引用方面询问的共享库是如何工作的。当我们包含一个共享库时,它是否会导出符号表以进行处理,然后根据一些指针执行相应的函数。

共享库条的含义是什么?

编辑:-我想知道共享库在加载到内存时是如何工作的。\当一个函数让我们说 Fun() 从库中具有 def 的应用程序中调用时。那么这种链接是如何发生的。我希望现在它清楚了。

4

1 回答 1

4

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

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

于 2009-09-05T18:01:38.433 回答