strip 命令的使用方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/118192.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 压力单位换算bar psi_150psi等于多少bar

    压力单位换算bar psi_150psi等于多少bar压力单位MPa、Psi和bar之间换算公式1bar=10^5PaPsi为英制压力单位.“磅力每平方英寸(1bf/in2)为1psi=6894.76pa;1bar等于10的5次方=10^5pa;

  • 解决0xc000000f_0xc00d36b4

    解决0xc000000f_0xc00d36b4win10原生播放器不支持的编码格式需要用 vlcmediaplayer才能播放谷歌搜vlcmediaplayerdownloadforfilehippo下载安装

  • 最新仿金蝶电商ERP进销存系统软件源码 销售库存仓库财务管理收银系统网络版「建议收藏」

    最新仿金蝶电商ERP进销存系统软件源码 销售库存仓库财务管理收银系统网络版「建议收藏」源码说明:超强的工作流系统,强大的可视化工作流编辑器,灵活自定义表单设计,充分实现企业基于工作流的各项业务管理,与其他模块数据(如HRM等)完美结合。全面综合的任务系统,实现基于信息录入、单据管理、业务协作、工作流转、任务提醒、统计分析等的智能管理。所有单据均支持上传附件功能;且报价单、销售合同、采购订单、发货出库、入库单、派工单等所有模板均支持自定义编辑打印。集成功能实用的CRM系统、进销存系统、生产ERP系统,实现对客户销售、供应商采购、产品物料、库存统计、生产监控等的精细化管理,直观强大的销售

  • WPF依赖属性(wpf 依赖属性)

    一、什么是依赖属性依赖属性就是一种自己可以没有值,并且可以通过绑定从其他数据源获取值。依赖属性可支持WPF中的样式设置、数据绑定、继承、动画及默认值。将所有的属性都设置为依赖属性并不总是正确的解决方案,具体取决于其应用场景。有时,使用私有字段实现属性的典型方法便能满足要求。MSDN中给出了下面几种应用依赖属性的场景:1.希望可在样式中设置属性。2.希望属性支持数据绑定。3.希望可使…

  • date和calendar_Calendar类

    date和calendar_Calendar类时间和日期处理 在程序中,某个固定的时间代表的都是一个时间点,也就是一个时间的瞬间,例如2009年3月8日15点50分0秒,在实际的应用中,经常需要对于两个时间进行比较或计算时间之间的差值,这些功能在Java语言中都可以很方便的实现。 在Java语言中,时间的表达单位是毫秒。也就是说,Java语言中的时间处理可以精确到毫秒。 在Java语言中,表达时间的方式有两种: a、绝

  • 【操作系统】进程管理(二)「建议收藏」

    【操作系统】进程管理(二)「建议收藏」一、前言之前已经介绍了操作系统的各个模块,现在来具体深入学习操作系统中的进程管理。二、进程的基本概念在未配置OS的系统中,程序的执行方式是顺序执行,即必须在一个程序执行完成后,才允许另外一个程序

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号