c++ - 如果在动态库之间共享代码,则减少动态库的磁盘大小
问题描述
我的 C++ 应用程序加载了两个动态库 libdy1.so 和 libdy2.so。我知道库 libdy1.so 和 libdy2.so 共享许多通用代码库。由于这些库仅由我的应用程序使用,我正在考虑一种减少这些库的磁盘大小的方法,因为它们必须因为通用代码库而获得通用符号。因此,在构建库期间,我可以避免将符号放入库 libdy2.so 中,反之亦然,如果该符号已经存在于另一个库中。类似的事情可能吗?
解决方案
因此,在构建库期间,我可以避免将符号放入库 libdy2.so 中,反之亦然,如果该符号已经存在于另一个库中
是的,通过动态链接一个库与另一个库。依赖者不需要从被依赖者那里找到的符号。
如果您不希望一个库完全依赖另一个库,则可以将公共部分分离到第三个库中,并使两个库都依赖于公共库。
推荐阅读
- python - 在 Pandas 中,如何按组中项目的迭代下一次出现的顺序创建列
- ios - UIView 的中心不居中
- javascript - 如何多次从数组中随机选择一个对象并将每个对象存储在一个数组中?
- excel - 如何修改我的多个条件 Excel 公式?
- python - 用于 MacOS 的 Py2app '找不到 Python 运行时'
- swift - 如何在调用 cellforRowAt 之前清除表格视图单元格?
- laravel - Laravel 查询结果,将列名改为数字
- r - 如何修复 R 代码错误:“不允许使用因素”?
- node.js - 如何修复 PM2 nodejs spawn babel-node ENOENT
- python - BioPython:将 JSON 键值平展为 Pandas DataFrame