当将应用程序链接到一个动态共享库时,例如在
我知道连接器(在Linux上是
gcc -o myprog myprog.o -lmylib
我知道连接器(在Linux上是
ld
)使用-l选项将库名(在这个例子中是mylib
)存储在生成的myprog ELF可执行文件中,该库将在加载和链接时使用(如果我们忽略惰性动态链接,则在程序启动时)。我想知道在编译时进行静态链接步骤时,连接器ld
还执行了哪些关于动态共享库的任务?
ld
必须检查提供的动态共享库中未定义符号的存在- 还有其他一些东西吗?