strip 使用命令
使用
通过消除使用调试器的粘合剂和符号信息,减少扩展公共对象文件格式(XCOFF)对象文件大小。
语法
strip
[ -V
] [ -r
[ -l
] | -x
[ -l
] | -t
| -H
| -e
| -E
] [ -X
{32
|64
|32_64
}]
[ --
] File
...
描写叙述
strip
命令降低 XCOFF 对象文件的大小。
strip
命令从 XCOFF 对象文件里有选择地除去行号信息、重定位信息、调试段、typchk 段、凝视段、文件头以及全部或部分符号表。
一旦您使用该命令,则非常难调试文件的符号;因此,通常应该仅仅在已经调试和測试过的生成模块上使用 strip
命令。使用 strip
命令降低对象文件所需的存储量开销。
对于每一个对象模块。strip
命令除去给出的选项所指定的信息。
对于每一个归档文件,strip
命令从归档中除去全局符号表。
能够使用 ar -s
命令将除去的符号表恢复到归档文件或库文件里。
没有选项的 strip
命令除去行号信息、重定位信息、符号表、调试段、typchk
段和凝视段。
标志
-e | 在对象文件的可选头中设置 F_LOADONLY 标志。假设对象文件放置在归档中,则该标志告知绑定程序(ld 命令),在与此归档链接时应忽略该对象文件里的符号。 |
-E | 复位(关闭)对象文件的可选头中的 F_LOADONLY
位。(请參阅 -e |
-H | 除去对象文件头、不论什么可选的头以及全部段的头部分。
|
-l | (小写 L)从对象文件里除去行号信息。 |
-r | 除了外部符号和静态符号条目,将所有符号表信息除去。不除去重定位信息。
同一时候除去调试段和 命令)中。 |
-t | 除去大多数符号表信息。但并不除去函数符号或行号信息。 |
-V | 打印 strip 命令的版本。 |
-x | 除去符号表信息,但并不除去静态或外部符号信息。 -x
标志同一时候除去重定位信息。因此将不可能链接到该文件。 |
-X mode |
指定应检查 strip 的对象文件的类型。 mode 必须是下列之中的一个:
缺省值是处理 32 位对象文件(忽略 64 位对象文件)。也能够用 OBJECT_MODE 比如。OBJECT_MODE=64 使 strip |
-- | (双连字符)将尾随在该标志后的全部參数解释为文件名称。这就同意除去名称是以连字符開始的文件。 |
退出状态
该命令返回下面退出值:
0 | 成功完毕。 |
>0 | 出错。 |
演示样例
- 要除去 a.out
文件里的符号表和行号信息,请输入:strip a.out
- 要除去 a.out
文件里的对象文件头,请输入:strip -H a.out
- 要除去 lib.a
中的 32 位和 64 位符号表。请输入:strip -X 32-64 lib.a
文件
/usr/ccs/bin/strip | 包括 strip 命令。 |
==================================================================================
UNIX下运行文件的减肥工具 strip
-
UNIX下文件压缩命令compress大家都比較熟悉了,它的压缩率比較高, 和tar命令结合使用来做数据备份是最合适只是了。
但compress压缩也有缺点,就是被压缩后的文件须要用命令uncompress解压后才干正常使用。而用strip命令就没有这个问题,它能清除运行文件里不必要的标示符及调试信息。可减小文件大小而不影响正常使用。但与compress 不同的是,文件一旦strip后就不能恢复原样了,所以strip是一个减肥工具而不是压缩工具。并且,被strip后的文件不包括调试信息。就不能用 dbx来调试程序了。如今让我们来详细效果怎样,看以下一个程序:
#include
main()
{
printf("hello, world/n");
}
用cc编译以后长度为46176字节。用strip后变为了 30648,足足减小了 1/3,并且仍然能够正常运行。除了用strip外。用共享库也是减小运行文件长度的方法。
注:
1.假设文件大小没有减小,那就是已经strip过了.
2.cc 编译时加"-s"参数。它具有相同的效果。
某种节省空间的方式:
即对于一个单一的大的可执行文件可以写一个zexec脚本.下面的脚本是只为/usr/bin/cc的
uncompress ./cc.Z
mv cc /tmp
cd /tmp
./cc
strip 使用命令的更多相关文章
- 程序减肥,strip,eu-strip 及其符号表
程序减肥,strip,eu-strip 及其符号表 我们要给我们生成的可执行文件和DSO瘦身,因为这样可以节省更多的磁盘空间,所以我们移除了debug信息,移除了符号表信息,同时我们还希望万一出事了, ...
- python高级之网络编程
python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及其源码分析 1.网络通信概念 说 ...
- 第六篇:python高级之网络编程
python高级之网络编程 python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及 ...
- python运维开发之第八天(socket)
什么是 Socket? Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. soc ...
- 减少可执行程序size的三个常用软件
减少可执行程序size的三个常用软件 linux下面,直接用strip 这个命令 #:strip xxx 可以去掉编译调试信息和各种符号表,能够大大减小可执行程序size windows下面这种exe ...
- 10.socket网络编程
套接字工作流程 先从服务器端说起.服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接.在这时如果有个客户端初始化一个Sock ...
- Python Socket通信黏包问题分析及解决方法
参考:http://www.cnblogs.com/Eva-J/articles/8244551.html#_label5 1.黏包的表现(以客户端远程操作服务端命令为例) 注:只有在TCP协议通信的 ...
- 网络编程基础之粘包现象与UDP协议
一.粘包现象原理分析 1.我们先来看几行代码,从现象来分析: 测试程序分为两部分,分别是服务端和客户端 服务端.py #!/usr/bin/env python3 #-*- coding:utf-8 ...
- mac快捷键整理以及node的基本使用
该文章是作为日常积累和整理,又是好久没有整理node的相关知识了,最近翻了翻自己的有道云笔记,怎一个乱字了的,重新整理下. 一.Mac常用快捷键 Command+M: 最小化窗口 Command+T: ...
随机推荐
- 点击搜索取消UISearchDisplayController的搜索状态
一般,我们用到UISearchDisplayController的时候,都是须要对一个数据源进行刷选,在UISearchDisplayController自带的tableView中展示出来,然后点击退 ...
- COJ 1102 - You Can Say 11 题解
本题就是给出一个无穷大数,算其能否被11除尽 Description Your job is, given a positive number N, determine if it is a mult ...
- 解决Nginx的connect() to 127.0.0.1:8080 failed (13: Permission denied) while connect
在进行Nginx+Tomcat 负载均衡的时候遇到了这个权限问题,在error.log日志中.我们能够看到例如以下: connect() to 127.0.0.1:8080 failed (13: P ...
- 【C++探索之旅】第一部分第三课:第一个C++程序
内容简介 1.第一部分第三课:第一个C++程序 2.第一部分第四课预告:内存的使用 第一个C++程序 经过上两课之后,我们已经知道了什么是编程,编程的语言,编程的必要软件,C++是什么,我们也安装了适 ...
- c++ stl algorithm: std::find, std::find_if
std::find: 查找容器元素, find仅仅能查找容器元素为<基本数据类型> [cpp] view plaincopy #include <iostream> #incl ...
- Linux鸟哥的私房菜(3)— 总体规划和磁盘分区 读书笔记
1.每个硬件设备Linux中的文件名称 在Linux系统中.每一个设备都被当成一个文件来对待.而且差点儿全部的硬件设备文件都在/dev文件夹下 常见设备与其对于文件名称 2.磁盘连接的方式与设备文件名 ...
- iOS6之后 NSAttributedString 福利
@于iOS6之前,需要使用NSMutableAttributedString当你需要导入:CoreText.framework框架的.但在iOS6 之后就不在须要了. - (void)testOfNS ...
- LNK快捷方式漏洞利用方式 exp制作教程
前言windows的shell32在处理控制面板程序的快捷方式文件时,存在一个漏洞,能够载入硬盘上的随意DLL文件,就可以运行随意代码. 漏洞文件的生成到“控制面板”以下,右键点“显示”,点“创建快捷 ...
- 【2014 Multi-University Training Contest 2 1002】/【HDU 4873】 ZCC Loves Intersection
果然,或滥用零件,啥都不说了.我们欣慰地学习阅读.这两天残疾儿童是数学. 这是求所需的问题,不明确.贴上官方的解题报告. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi ...
- 纯css3 轮播图 利用keyframes
效果: 关键点:利用keyframes 原理:infinite 注意点:在处理关键帧动画的时候,注意处理好 总共花费的 animation-duration:time 与每帧延延迟的时间的交错:要让 ...