linux中的strip命令简介

一、下面是manstrip获得到的信息,简单的说就是给文件脱掉外衣,具体就是从特定文件中撕掉一些符号信息和调试信息,使文件变小。

NAME

strip-Discardsymbolsfromobjectfiles.

SYNOPSIS

strip

-Fbfdname|--target=bfdname

-Ibfdname|--input-target=bfdname

linux strip命令使用_strip命令减少文件大小_linux strip命令

-Obfdname|--output-target=bfdname

-s|--strip-all

-S|-g|-d|--strip-debug

-Ksymbolname|--keep-symbol=symbolname

-Nsymbolname|--strip-symbol=symbolname

-w|--wildcard

-x|--discard-all

-X|--discard-locals

-Rsectionname|--remove-section=sectionname

-p|--preserve-dates

--keep-file-symbols

--only-keep-debug

-v|--verbose

-V|--version

objfile…

DESCRIPTION

GNUstripdiscardsallsymbolsfromobjectfilesobjfile. Thelistofobjectfilesmayincludearchives. At

leastoneobjectfilemustbegiven.

stripmodifiesthefilesnamedinitsargument,ratherthanwritingmodifiedcopiesunderdifferentnames.

2、实际测试。

I、测试代码strip.c:


#include

voidmain()

linux strip命令_linux strip命令使用_strip命令减少文件大小

printf(“stripn”);

II、在liunx下执行gccstrip.clinux strip命令,会生成a.out。执行ls-l a.out看一下文件大小,用file命令来查看文件

基本信息的linux strip命令linux文件系统,用nm命令来列举一个目标文件中的各类符号。

III、执行stripa.out,之后执行ls-l a.out看一下文件大小,用file命令来查看文件基本信息

的,用nm命令 来列举一个目标文件中的各类符号。很显著,文件早已变小了,早已没有相关的符号信息了。

IV、执行./a.out,说明strip后文件变小了,但还是可以正常的运行。

三、小结.

linux strip命令使用_strip命令减少文件大小_linux strip命令

综上所述,strip命令用于脱掉文件的衣物,文件会变小,其中的符号信息会丧失。那这个strip有哪些

用呢?很有用的!原先的a.out比较大,可以执行。在strip以后,文件变小了,也是可以执行,这就节约了很多空间.

虽然,strip不仅仅可以针对可执行文件,能够针对目标文件和动态库等.

在实际的开发中,常常须要对动态库.so进行strip操作,降低占地空间。而在调试的时侯(例如用addr2line)linux 关机命令,就须要符号了。因而,一般的做法是:strip前的库拿来调试,strip后的库拿来实际发布,她们二者有对应关系。一旦发布的strip后的库出了问题,就可以找对应的未strip的库来定位。

比如某个动态库strip前是50M左右,strip后是20M左右,可见,脱脱外套还是有显著用处的。

我们在调试过程中,常常涉及到上传库,库太大时,很花费传输时间,所以还是先用strip来处理一下比较好。

(76条消息)linux中的strip命令简介_海月汐辰-CSDN博客_linuxstrip

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复