作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我想尽可能多地剥离 - 在 Linux 上:一个 ELF。我只想要运行它所需的东西。
我尝试使用 strip
:
strip --strip-all elf
但它似乎做得不好:nm
仍然显示很多东西,并且二进制文件仍然很大。
我该怎么办?
最佳答案
如果一切都失败了,您可以阅读文档,从 man strip
开始.
说真的,也许您的应用程序有很多符号和代码。在一个极端情况下,最大的尺寸减少将是 rm elf
但是你的程序将不再运行。这一切都取决于您的程序以及您在其中编码的内容。
作为一个具体的例子,我最近使用了一个大型 C++ 库,其中 strip
没有进一步的争论,将大小从 400+mb 减少到大约 28mb。但是你不能再链接它(在其他共享库的上下文中),使它有点无用。
但是当使用 strip --strip-unneeded
时,它将大小从 400+ mb 更改为 55 mb,这仍然是相当大的,但允许从其他共享库访问该库。
简而言之,我相信 strip
.如果不更改代码,您的应用程序可能无法进一步缩减。
关于linux - 如何彻底剥离可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4179010/
我是一名优秀的程序员,十分优秀!