linux中的strip命令(代码打包时瘦身减小大小)
由此可见,在strip之后文件变小了,但仍然可以执行, 节省了很多空间。而在调试的时候,就需要符号了。因此,将strip前的文件备份下来用于调试, 而strip后的文件用来实际发布。另外,strip不仅仅可以针对可执行文件, 还能针对目标文件和动态库等。从目标文件或可执行文件中剥掉一些符号信息和调试信息,使文件变小。打包时用最合适不过了,可直接缩身包大小。确实瘦身了,而且效果很明显。
常用方法
strip abc/*
功能
从目标文件或可执行文件中剥掉一些符号信息和调试信息,使文件变小。
打包时用最合适不过了,可直接缩身包大小。
使用
测试代码abc.c
#include <stdio.h>
// asdasd asd asdh asjkldh jkashdasgd
void main()
{
printf("11111\n");
return 0;
}
显示大小为8352
使用strip瘦身看一下效果
strip a.out
此时大小为6240
确实瘦身了,而且效果很明显
使用正常
结论
由此可见,在strip之后文件变小了,但仍然可以执行, 节省了很多空间。而在调试的时候,就需要符号了。因此,将strip前的文件备份下来用于调试, 而strip后的文件用来实际发布。
另外,strip不仅仅可以针对可执行文件, 还能针对目标文件和动态库等。
在实际的开发中, 经常需要对动态库.so进行strip操作, 减少占地空间。 而在调试的时候(比如用addr2line), 就需要符号了。 因此, 通常的做法是: strip前的库用来调试, strip后的库用来实际发布, 他们两者有对应关系。 一旦发布的strip后的库出了问题, 就可以找对应的未strip的库来定位。
例如某个动态库strip前是50M左右, strip后是20M左右, 可见, 脱脱衣服还是有明显好处的。
我们在调试过程中, 经常涉及到上传库, 库太大时, 很耗费传输时间, 所以还是先用strip来处理一下比较好。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)