链接静态库:嵌入式依赖的挑战
构建由多个静态库组成的模块化代码库时,会出现一个常见问题:链接依赖新创建的静态库中的库。这一障碍源于静态库的本质,静态库封装了目标文件而不合并依赖项。
创建一个“包装”库
为了解决这个问题,可以创建一个“包装”静态库(例如,Y),包含所需的静态库(X)和来自外部库(a_1 - a_n)的选定功能。通过将这些元素组合在一个存档中,包装器库有效地提供了使用 X 所需的所有组件。
将库与 'ar' 合并
一种简单的方法创建包装器库涉及使用“ar”命令来连接库。然而,这种方法并没有解决包含不必要符号的问题。由于静态库通常包含所有目标文件,因此生成的合并库可能包含 X 不需要的符号。
选择性包含:一项复杂的任务
识别和选择仅那些 X 所必需的符号可能是一个耗时且容易出错的过程。它需要从一组精选的目标文件中手动构建库。虽然用于此目的的自动化工具的存在尚不清楚,但它提供了一个有趣的项目机会。
以上是如何在新的静态库中高效链接依赖的静态库?的详细内容。更多信息请关注PHP中文网其他相关文章!