链接器如何知道在运行时应该解析哪些符号?

Leo*_*nid 10 c++ shared-libraries shared-objects

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

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

有问题的平台是SUN OS.

M. *_*its 3

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