静态库与共享库

💡 原文英文,约1200词,阅读约需5分钟。
📝

内容提要

静态库和共享库是C和C++编程语言中常见的两种库类型,静态库在编译时解析依赖关系,共享库在运行时解析依赖关系。共享库可以链接到共享库,静态库可以链接到共享库和静态库。共享库的依赖关系不会成为消费者可执行文件或消费者静态库的一部分,静态库会增加消费者可执行文件或消费者静态库的大小。共享库使得消费者可执行文件或消费者共享库更加灵活和易于更新,静态库使得消费者可执行文件或消费者静态库更加便携和易于分发。

🎯

关键要点

  • 静态库和共享库是C和C++编程语言中常见的两种库类型。
  • 静态库在编译时解析依赖关系,共享库在运行时解析依赖关系。
  • 共享库可以链接到共享库,静态库可以链接到共享库和静态库。
  • 共享库的依赖关系不会成为消费者可执行文件或消费者静态库的一部分。
  • 静态库会增加消费者可执行文件或消费者静态库的大小。
  • 共享库使得消费者可执行文件或消费者共享库更加灵活和易于更新。
  • 静态库使得消费者可执行文件或消费者静态库更加便携和易于分发。
  • 示例中有两个库:shape和rectangle,以及一个可执行文件main。
  • 静态库的依赖关系在编译时解析,成为消费者可执行文件的一部分。
  • 共享库的依赖关系在运行时解析,不会成为消费者可执行文件的一部分。
  • 通过不同的链接方式构建主可执行文件,展示了静态库和共享库的不同。
  • 共享库可以节省磁盘空间和内存,而静态库则使可执行文件更易于分发。
  • 更新共享库不需要重新编译消费者可执行文件或共享库。
➡️

继续阅读