程序减肥三步走.pdf

程序减肥三步走.pdf

ID:52318498

大小:159.79 KB

页数:4页

时间:2020-03-26

程序减肥三步走.pdf_第1页
程序减肥三步走.pdf_第2页
程序减肥三步走.pdf_第3页
程序减肥三步走.pdf_第4页
资源描述:

《程序减肥三步走.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、strip命令用途通过除去绑定程序和符号调试程序使用的信息,减少扩展公共对象文件格式(XCOFF)的对象文件的大小。语法strip[-V][-r[-l]

2、-x[-l]

3、-t

4、-H

5、-e

6、-E][-X{32

7、64

8、32_64}][--]File-e描述strip命令减少XCOFF对象文件的大小。strip命令从XCOFF对象文件中有选择地除去行号信息、重定位信息、调试段、typchk段、注释段、文件头以及所有或部分符号表。一旦您使用该命令,则很难调试文件的符号;因此,通常应该只在已经调试和测试过的生成模块上使用strip命令。使用strip命令减少对象文件所需的存储量

9、开销。对于每个对象模块,strip命令除去给出的选项所指定的信息。对于每个归档文件,strip命令从归档中除去全局符号表。可以使用ar-s命令将除去的符号表恢复到归档文件或库文件中。没有选项的strip命令除去行号信息、重定位信息、符号表、调试段、typchk段和注释段。标志在对象文件的可选头中设置F_LOADONLY标志。如果对象文件放置在归档中,则该标志告知绑定程-e序(ld命令),在与此归档链接时应忽略该对象文件中的符号。-E复位(关闭)对象文件的可选头中的F_LOADONLY位。(请参阅-e标志。)-H除去对象文件头、任何可选的头以及所有段的头部分。注:不除

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

11、处理64位对象文件-Xmode缺省值是处理32位对象文件(忽略64位对象文件)。也可以用OBJECT_MODE环境变量来设置mode。例如,OBJECT_MODE=64使strip处理任何64位对象文件,并忽略32位对象文件。-X标志重设OBJECT_MODE变量。(双连字符)将跟随在该标志后的所有参数解释为文件名。这就允许除去名称是以连字符开始--的文件。退出状态该命令返回以下退出值:0成功完成。>0出错。示例1.要除去a.out文件中的符号表和行号信息,请输入:2.stripa.out3.4.要除去a.out文件中的对象文件头,请输入:5.strip-Ha.ou

12、t6.7.要除去lib.a中的32位和64位符号表,请输入:8.strip-X32_64lib.a文件/usr/ccs/bin/strip包含strip命令。相关信息ar命令、as命令、dump命令、ld命令、size命令。ar文件、a.out文件。程序减肥三步走对于设计嵌入式Linux系统的研发人员来说,有一个问题是必须要考虑到的,那就是存储器的空间。我们知道嵌入式Linux系统所用的存储器不是软磁盘、硬盘、ZIP盘、CD-ROM、DVD这些众所周知的大容量常规存储器,它使用的是例如Rom,CompactFlash,M-Systems的DiskOnChip,SON

13、Y的MemoryStick,IBM的MicroDrive等体积极小,与主板上的BIOS大小相近,存储容量很小的存储器。所以怎样尽可能的节省空间就显的很重要。嵌入式系统的存储器中放置的无非是内核,文件系统,软件,以及自己开发的程序。本文就从程序入手,以一个非常简单的C程序来作为例子,通过三步来让它减肥。Hello.c:#includeintmain(){printf("hello,world");return0;}我们先用正常的编译方法来编译,看看生成的程序的大小是多少#gcc–ohellohello.c#ls–lhello-rwxr-xr-x1rootroot115

14、42Nov1320:07hello从结果可以看到正常编译后的程序大小是11542Byte,现在开始我们的三步减肥,看看到底效果如何。步骤一:用gcc的代码优化参数代码优化指的是编译器通过分析源代码,找出其中尚未达到最优的部分,然后对其重新进行组合,目的是改善程序的执行性能。GCC提供的代码优化功能非常强大,它通过编译选项-On来控制优化代码的生成,其中n是一个代表优化级别的整数。对于不同版本的GCC来讲,n的取值范围及其对应的优化效果可能并不完全相同,比较典型的范围是从0变化到2或3。编译时使用选项-O可以告诉GCC同时减小代码的长度和执行时间,其效果等价于-O

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。