动态链接时为什么需要动态链接库?

如题,动态链接的时候根本就不会把动态链接库(.lib/.so文件)引入程序。那么为什么我们动态编译的时候需要给出动态链接库的路径呢?

阅读 7k
3 个回答

动态链接的地址是在运行时确定的,因此编译连接阶段不需要用到动态链接库中函数的地址。之所以需要在编译连接阶段引入动态链接库,主要是为了确定要连接的符号名,这样才能在运行时根据符号名找到对应的函数入口。

编译的时候你可以连动态库都没有,但是运行的时候程序会因找不到动态库而挂掉的。

我们总要知道调用的函数地址在哪吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏