📦 归档笔记 — 原创建于 WizNote,仅作归档展示;观点以当年为准,非最新。

动态库和静态库的区别和优缺点

创建时间2020-12-06最后修改2020-12-06原位置/My Notes/字数283
目录:我的笔记

静态库有什么问题?

  1. 浪费空间。
  2. 库更新以后需要重新编译:库是被复制到可执行文件中去了,如果某个库更新了,则与它相关的所有可执行文件都需要重新编译。

为了解决以上问题,可以使用动态库:

  1. 解决浪费空间:动态库在编译时不会被载入,而是在程序运行时才载入。此时如果不同的应用程序调用相同的库,那么在内存中只需要一份该库的实例。
  2. 解决全量更新问题:动态库修改后不用修改重新编译生成可执行文件,增量更新。

动态库的特点:

  1. 动态库只有一份,可以实现进程之间的资源共享。(因此动态库也称为共享库)
  2. 对库函数的链接推迟到程序运行时。
  3. 程序升级变得简单。
  4. 可以在链接载入时完全由程序员在程序代码中控制。

来源: https://blog.csdn.net/LU_ZHAO/article/details/104251151