13

链接器如何知道应该在运行时解析哪些符号?我特别感兴趣的是共享对象文件携带哪些信息来指示链接器在运行时解析符号。动态符号解析在运行时如何工作,即可执行文件将如何查找符号以及在定义了多个同名符号的情况下会找到哪些符号?

如果文件只是静态链接,然后在运行时作为共享库的一部分动态链接,会发生什么情况?可执行文件将使用哪个符号?换句话说,是否可以通过将这些符号链接到共享库来覆盖可执行文件中的符号?

有问题的平台是 SUN OS。

4

3 回答 3

4

试试下面的链接。我希望它能回答你的问题

http://www.linuxjournal.com/article/6463

于 2010-10-05T13:05:51.510 回答
3

查看Linux Journal中的这篇文章。有关更多信息(可能与 Windows、AIX、OSx 等特别相关),我会推荐有关链接器(计算)的 Wikipedia 文章以及其中的参考资料。

于 2010-10-05T13:09:45.793 回答
0

如果文件是静态链接的,则没有运行时分辨率可言。如果共享对象以动态或静态方式链接到同一个库,则链接到该库的版本只会影响在该库中执行的代码。如果您链接到同一库的两个不同版本的不兼容并来回移动数据,这可能会导致问题。

于 2010-10-05T13:55:58.717 回答