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 除了外部符号和静态符号条目,将所有符号表信息除去。不除去重定位信息。同一时候除去调试段和 typchk 段。这个选项产生一个对象文件,该对象文件仍能够用作输入到链接编辑器(ld 命令)中。
-t 除去大多数符号表信息,但并不除去函数符号或行号信息。
-V 打印 strip 命令的版本。
-x 除去符号表信息,但并不除去静态或外部符号信息。 -x 标志同一时候除去重定位信息,因此将不可能链接到该文件。
-X mode 指定应检查 strip 的对象文件的类型。 mode 必须是下列之中的一个:
32
仅仅处理 32 位对象文件
64
仅仅处理 64 位对象文件
32_64
既处理 32 位对象文件,又处理 64 位对象文件

缺省值是处理 32 位对象文件(忽略 64 位对象文件)。也能够用 OBJECT_MODE 环境变量来设置 mode 。比如,OBJECT_MODE=64 使 strip 处理不论什么 64 位对象文件,并忽略 32 位对象文件。-X 标志重设 OBJECT_MODE 变量。

-- (双连字符)将尾随在该标志后的全部參数解释为文件名称。这就同意除去名称是以连字符開始的文件。

退出状态

该命令返回下面退出值:

0 成功完毕。
>0 出错。

演示样例

  1. 要除去 a.out 文件里的符号表和行号信息,请输入:
    strip a.out
  2. 要除去 a.out 文件里的对象文件头,请输入:
    strip -H a.out
  3. 要除去 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

转载于:https://www.cnblogs.com/yxwkf/p/4030551.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273564.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式 之 模板模式

项目源码:https://gitee.com/Jacob-gitee/DesignMode 个人博客 :http://jacob.org.cn 女娲的失误 工厂模式中讲了女娲造人的故事。人是造出来了,世界也热闹了,可是低头一看,都是清一色的类型,缺少关爱、仇…

使用Java高速实现进度条

基于有人问到如何做进度条,以下给个简单的做法: 主要是使用JProgressBar(Swing内置javax.swing.JProgressBar)和SwingWorker(Swing内置javax.swing.SwingWorker) 有人肯定会说,不是用线程做的吗…

Linux 安装JDK

个人博客 :https://www.siyuan.run CSDN:https://blog.csdn.net/siyuan 微信小程序:思远Y 安装时使用到的命令: cd:切换目录。 eg:cd / mkdir:创建目录。 eg:mkdir jacob 创建单极目…

Css导航

<div> <ul> <li><a></a></li> <li><a></a></li> <li><a></a></li> .. </ul> </div> <li>中也可包含 <ul> <a></a> <li><a></a>&…

关于js的function.来自百度知道的回答,学习了.

在js中&#xff0c;创建一个函数对象的语法是var myFunction new Function(arg1,…,agrN, body);其中&#xff0c;该函数对象的N个参数放在 函数主体参数body的前面&#xff0c;即函数主体参数必须放在参数列表的最后&#xff0c;也可以无参数new Function(body)。你添加第三个…

Ribbon 支持的9大负载均衡策略

个人博客 &#xff1a;https://www.siyuan.run CSDN&#xff1a;https://blog.csdn.net/siyuan 微信小程序&#xff1a;思远Y 线性轮询策略&#xff1a; RoundRibbonRule BaseLoadBalancer 负载均衡器默认采用线性负载轮询负载均衡策略。 工作流程&#xff1a; RoundRibbonRule…

fedora20开机启动配置:systemctl

老版fedora中使用chkconfig配置开机启动&#xff0c;fedora20中&#xff0c;使用chkconfig会出现各种问题。使用systemctl配置。 具体表格如下 转载于:https://www.cnblogs.com/hh6plus/p/5548083.html

Mysql 字符操作函数相关

常用的字符串函数&#xff1a; 函数说明CONCAT(s1,s2&#xff0c;...)返回一个或多个待拼接的内容&#xff0c;任意一个为NULL则返回值为NULL。CONCAT_WS(x,s1,s2,...)返回多个字符串拼接之后的字符串&#xff0c;每个字符串之间有一个x。SUBSTRING(s,n,len)、MID(s,n,len)两个…

“cvSnakeImage”: 找不到标识符

1>g:\project\opencv\helloopencv\helloopencv\helloopencv.cpp(74) : error C2065: “CV_VALUE”: 未声明的标识符1>g:\project\opencv\helloopencv\helloopencv\helloopencv.cpp(74) : error C3861: “cvSnakeImage”: 找不到标识符 增加头文件 #include <opencv2/l…

Shell 快速入门

个人博客 &#xff1a;https://www.siyuan.run CSDN&#xff1a;https://blog.csdn.net/siyuan 微信小程序&#xff1a;思远Y 概述 Shell 是一个用 C 语言编写的程序&#xff0c;它是用户使用 Linux 的桥梁。Shell 既是一种命令语言&#xff0c;又是一种程序设计语言。 Shell…

Andriod开发 --插件安装、环境配置、问题集锦

1.用Eclipse搭建Android开发环境和创建第一个Android项目&#xff08;Windows平台&#xff09; 链接阅读http://www.cnblogs.com/allenzheng/archive/2012/11/10/2762379.html 搭建环境中的不同之处&#xff1a; &#xff08;1&#xff09;我在安装过程中&#xff0c;在安装ADT…

《Java 高并发》01 高并发基本概念

基本概念 同步和异步 同步和异步通常是用来形容一次方法调用。 同步方法调用一旦开始&#xff0c;调用者必须等到方法返回才能继续执行后续操作。 异步方法调用更像一个消息传递&#xff0c;一旦开始&#xff0c;方法调用就会立即返回&#xff0c;调用者就可以继续后续的操…

Android之Http网络编程(四)

前面几篇博文简单的介绍了一些常见的Http的操作&#xff0c;这些操作几乎都是在新开的线程中进行的网络请求&#xff0c;并在日志中打印出获取到的网络数据。那么&#xff0c;问题来了&#xff01;&#xff08;呃~感觉下一句是蓝翔有木有&#xff1f;&#xff09;如何在把获取到…

《Java 高并发》02 多线程的特性

多线程的三大特性&#xff1a;原子性、可见性和有序性。 原子性 原子性是指一个操作或者多个操作&#xff0c;一旦开始就不会被其他线程干扰&#xff0c;即使是在多个线程一起执行的情况下也不会被干扰。或者不执行。 原子性主要是为了保证数据一致&#xff0c;线程安全问题…

U3D-FSM有限状态机的简单设计

http://coder.beitown.com/archives/592 在之前的文章里介绍了一个基础U3D状态机框架&#xff08;Unity3D游戏开发之状态流框架&#xff09;即大Switch的枚举状态控制。这种方法虽然容易理解&#xff0c;编程方法也相对简单&#xff0c;但是弊端是当状态变得复杂之后&#xff0…

《Java 高并发》04 线程的基本操作

新建线程 新建线程很简单。只要使用new 关键字创建一个线程对象&#xff0c;并且调用 start 方法启动线程。 Thread t new Thread(); t.start();注意&#xff1a;run 方法不是用来启动线程。如果调用 run 方法它只会作为普通方法来执行&#xff0c;而不会开启线程执行。 终止…

Dispatch 方法简介

后台执行 dispatch_async(dispatch_get_global_queue(0, 0), ^{ //后台程执行 something; }); 主线程执行 dispatch_async(dispatch_get_main_queue(), ^{// 主线程执行something; }); 一次性执行 static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ // 主…

linux杂七杂八整理

64系统里执行32位程序&#xff1a; 1、在64系统里执行32位程序如果出现/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory&#xff0c;安装下glic即可sudo yum install glibc.i6862、error while loading shared libraries: libz.so.1: cannot …

《Java 高并发》05 线程的基本操作

volatile 与 Java 内存模型 Java 内存模型都是围绕着原子性、有序性和可见性展开的。为了在适当的场合&#xff0c;确保线程间的原子性、有序性和可见性。Java 使用了一些特许的操作或者关键字来申明、告诉虚拟机&#xff0c;在这个地方&#xff0c;要尤其注意&#xff0c;不能…

mybatis 2 -常用数据操作

1、写入数据并获取自增ID XML配置&#xff1a; <!-- 写入数据获取自增ID --><insert id"insertLog" parameterType"com.mamaguwen.entity.sys_loginlog" useGeneratedKeys"true" keyProperty"logid">insert into sys_…