我有二进制文件X,Y,Z,它们使用libA.so,libB.so和libD.so(由ldd
打印)。是否有一个工具通过删除X,Y和Z中任何一个未使用的所有符号(以及相关的代码和数据)来使libA.so,libB.so和libD.so文件变小?我无权访问程序的源代码或.so文件。
我想我几年前见过这样的.so剥线工具,但我忘记了细节。
答案 0 :(得分:2)
我刚刚找到Library Optimizer,但它需要构建libA.so等的原始.o对象文件。
我也找到了mklibs。它还需要.o文件,例如/lib/libc_pic.a
。但它使用起来非常方便,安装也很简单:sudo apt-get install mklibs
。请注意,大多数共享库没有预编译*_pic.a
,因此不会节省大小。