首先,我们有一个system
项目,它提供了一些抽象的体系结构类。然后,具有不同名称的几个module
项目继承自系统的一个类以实现专用功能。最后,application
将两者结合在一起。它从系统实例化基础架构并将模块附加到它。
这给出了以下依赖关系。
system
没有依赖关系并构建为静态库。module
取决于system
并构建到静态库。application
取决于system
和所有module
并构建可执行文件。当我构建此设置时,所有module
库是否都包含system
库的副本?如果是这样,我可以阻止这种行为吗?最后,无论如何,它们在可执行文件中与system
库一起静态链接在一起。
答案 0 :(得分:2)
构建库时,没有任何内容可以链接。库只是存放在一起的一堆目标文件。只有当您构建链接器参与的应用程序时,才会引入应用程序的各个组件所需的部分。