peo*_*oro 35 linux executable gcc strip elf
我想尽可能多地剥离 - 在Linux上:一个ELF.我只想在那里运行它需要的东西.
我试过用strip
:
strip --strip-all elf
Run Code Online (Sandbox Code Playgroud)
但它似乎没有做得好:nm
仍然显示很多东西,二进制文件仍然很大.
我该怎么办?
Dir*_*tel 36
如果其他一切都失败了,你可以阅读文档,从开始man strip
.
说真的,也许你的应用程序有很多符号和代码.在一个极端,最大的尺寸减少将是,rm elf
但那么你的程序将不再运行.这一切都取决于您的程序以及您编写的内容.
作为一个具体的例子,我最近使用了一个大型C++库,strip
没有进一步的参数,将大小从400 + mb减小到大约28mb.但是你不能再对它进行链接(在其他共享库的上下文中),使它有点无用.
但是在使用时strip --strip-unneeded
,它将大小从400+ mb更改为55 mb,这仍然相当可观,但允许从其他共享库访问库.
简而言之,我相信strip
.如果没有代码更改,您的应用程序可能无法进一步减少.
我会查看这篇有关使ELF可执行文件尽可能小的深入文章.也许它有信息可以帮助!
http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html