strip 通过删除可执行文件中ELF头的 typchk段、符号表、字符串表、行号信息、调试段、注解段、重定位信息等来实现缩减程序体积的目的。而被剪裁过的可执行文件不可进行还原。
参数
-H 删除文件头(不删除符号表)
-l 删除行号信息
-r 删除调试段、typchk段、符号表(不删除外部符号、静态符号与重定位信息)
-t 删除符号表 (不删除函数符号与行号信息)
-x 删除重定位信息、符号表 (不删除外部符号、静态符号)
-X[mode] 删除文件特定符号信息(mode: 32、64、32_64 | 模式: 32位 、64位、32_64位等符号表)
-V 输出版本号
【注:使用注意】
1.gcc 对于编译时已经进行深层优化的程序,使用strip命令可能会导致无法正常运行!
[root@localhost ~]# gcc -g -o test test.c #-g 生成带调式信息的可执行文件 test [root@localhost ~]# ls -l test #查看文件xinxi -rwxrwxrwx 1 root root 114688 2012-10-23 test [root@localhost ~]# strip test #裁剪可执行文件 [root@localhost ~]# ls -l test -rwxrwxrwx 1 root root 62281 2012-10-23 test [root@localhost ~]# strip -X 32 test #裁剪可执行文件,删除32位 符号表等信息
评论(0)
暂无评论