【发布时间】:2023-12-05 17:57:01
【问题描述】:
将应用程序链接到动态共享库时,例如在
gcc -o myprog myprog.o -lmylib
我知道链接器(我的 Linux 上的 ld)使用 -l 选项在生成的 myprog ELF 可执行文件中存储将在加载和链接时使用的库的名称(在本例中为 mylib)时间(如果我们忽略惰性动态链接,程序将在何时启动)。我想知道ld(我只是说在编译时完成的静态链接步骤)关于动态共享库的其他工作是什么?
-
ld必须检查提供的动态共享库中是否存在未定义的符号 - 还有其他东西吗?
此外,我会对您使用的关于 ELF 格式和动态链接和加载过程的指针(书籍、在线文档)感兴趣。
【问题讨论】: