静态链接库的冗余出现

Redundant occurances of a statically linked library?

本文关键字:冗余 链接 静态      更新时间:2023-10-16

首先,我们有一个system项目,它提供了一些抽象的体系结构类。然后,几个具有不同名称的module项目从系统的一个类继承,以实现专门的功能。最后,application将两者结合在一起。它从系统中实例化基础架构,并将模块连接到它上

这提供了以下依赖关系。

  • system没有依赖项,并且构建为静态库
  • 所有module都依赖于system并构建为静态库
  • application依赖于system和所有module,并构建可执行文件

构建此设置时,是否所有module库都包含system库的副本?如果是,我可以阻止这种行为吗?最终,它们在可执行文件中与system库一起静态链接在一起。

构建库时,没有任何链接。库只是一堆粘贴在归档文件中的对象文件。只有当你构建一个应用程序时,链接器才会参与进来,拉入应用程序各个组件所需的部分。