linux中的strip命令简介
来源:互联网 发布:ubuntu默认开启小键盘 编辑:程序博客网 时间:2024/06/05 04:32
linux中的strip命令简介
一、下面是man strip获得到的信息,简单的说就是给文件脱掉外衣,具体就是从特定文件中剥掉一些符号信息和调试信息,使文件变小。
NAME
strip - Discard symbols from object files.
SYNOPSIS
strip [-F bfdname |--target=bfdname]
[-I bfdname |--input-target=bfdname]
[-O bfdname |--output-target=bfdname]
[-s|--strip-all]
[-S|-g|-d|--strip-debug]
[-K symbolname |--keep-symbol=symbolname]
[-N symbolname |--strip-symbol=symbolname]
[-w|--wildcard]
[-x|--discard-all] [-X |--discard-locals]
[-R sectionname |--remove-section=sectionname]
[-o file] [-p|--preserve-dates]
[--keep-file-symbols]
[--only-keep-debug]
[-v |--verbose] [-V|--version]
[--help] [--info]
objfile...
DESCRIPTION
GNU strip discards all symbols from object files objfile. The list of object files may include archives. At
least one object file must be given.
strip modifies the files named in its argument, rather than writing modified copies under different names.
2、实际测试。
I、测试代码strip.c:
#include <stdio.h> void main() { printf("strip\n"); }II、在liunx下执行gcc strip.c,会生成a.out。执行ls -l a.out看一下文件大小,用file命令来查看文件
基本信息的,用nm命令来列出一个目标文件中的各种符号。
III、执行strip a.out,然后执行ls -l a.out看一下文件大小,用file命令来查看文件基本信息
的,用nm命令来列出一个目标文件中的各种符号。很明显,文件已经变小了,已经没有相关的符号信息了。
IV、执行./a.out ,说明strip后文件变小了,但还是可以正常的运行。
三、小结.
综上所述, strip命令用于脱掉文件的衣服, 文件会变小, 其中的符号信息会失去。 那这个strip有什么
用呢? 很有用的! 原来的a.out比较大, 可以执行。 在strip之后, 文件变小了, 也是可以执行, 这就节省了很多空间.
其实, strip不仅仅可以针对可执行文件, 还能针对目标文件和动态库等.
在实际的开发中, 经常需要对动态库.so进行strip操作, 减少占地空间。 而在调试的时候(比如用addr2line), 就需要符号了。 因此, 通常的做法是: strip前的库用来调试, strip后的库用来实际发布, 他们两者有对应关系。 一旦发布的strip后的库出了问题, 就可以找对应的未strip的库来定位。
例如某个动态库strip前是50M左右, strip后是20M左右, 可见, 脱脱衣服还是有明显好处的。
我们在调试过程中, 经常涉及到上传库, 库太大时, 很耗费传输时间, 所以还是先用strip来处理一下比较好。
阅读全文
0 0
- linux中的strip命令简介
- linux中的strip命令简介
- linux中的strip命令简介
- linux中的strip命令简介
- linux中的strip命令简介------给文件脱衣服
- linux中的strip命令简介-裁剪终极杀招
- linux中的strip命令简介------给文件脱衣服
- linux中的strip命令简介------给文件脱衣服
- linux中的strip命令简介------给文件脱衣服
- linux中的strip命令简介------给文件脱衣服
- python中的strip()函数简介
- Linux strip命令的用法
- Linux strip命令的用法
- Linux strip命令的用法
- Linux strip命令的用法
- Linux strip命令的用法
- linux中的service命令简介
- linux中的strings命令简介
- 【html5】 canvas小结
- 13.2如何使用通用Mapper
- PHP获取PHP执行的时间
- 问卷星python自动提交
- 如何用好 github 中的 watch、star、fork
- linux中的strip命令简介
- Ubuntu下Qt5.6.2开发环境搭建
- 设置 当前样式dimstyle
- 存储过程更新数据
- spark取相同条件下最早记录
- Ubuntu 16.04 安装CUDA8.0+Cudnn6.0+TensorFlow+Caffe安装
- java安装1.8的经验和Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVers问题处理
- 封装一个基础BaseAdapter类
- px,rem,em的联系与区别