当链接到的动态共享库的应用程序,如当链接到动态共享库时,ld会做什么?
gcc -o myprog myprog.o -lmylib
我知道(在我的Linux ld
)链接器使用-l选项中产生MYPROG ELF可执行文件存储库的名称(在这种情况下为mylib
),它将用于加载和链接时(如果我们忽略惰性动态链接,程序将启动时)。我想知道关于动态共享库的ld
(我只是在编译时完成静态链接步骤)执行的其他作业是什么?
ld
必须检查未定义的符号存在于提供动态共享库- 任何其他东西?
此外,我会对您正在使用的指针(书籍,在线文档)感兴趣,内容涉及ELF格式和动态链接和加载过程。