GNU工具链简介分析和总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GNU 工具链简介(全 GNU 工具链简介(全) 分类: 原文地址:GNU 工具链简介(全) 作者:piaoyizu Mips GNU 工具链简介 1 . 总括 本文分三部分来介绍 mips 的工具链,首先工具链的总括,其次是每个工具 链的简介,最后是各工具链的实际应用举例。我们的项目使用的工具链就如图 1 所示, 声明,本文所述的内容实乃 GNU 工具链的九牛之一毛, 日后会陆续更新。 图 1 工具链简介 下边就以列表的方式,对每一个工具链的作用进行介绍,在下一章进行实例演示。 mips-linux-gnu-addr2line : 把程序地址转换为文件名和行号。在命令行中给它一个地址和一个可执行文件名, 它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个文件以及行号。 mips-linux-gnu-gcc: 符合 ISO 标准的C 编译器, 这个大家都在用,不再赘述。 mips-linux-gnu-objcopy: 把一种目标文件中的内容复制到另一种类型的目标文件中。 mips-linux-gnu-ar: 建立、修改、提取归档文件。归档文件是包含多个文件内容的一个大文件,其结构 保证了可以恢复原始文件内容。 mips-linux-gnu-gcov: gcov 是一个保险测试工具。当构建一个程序时,gcov 会监视一个程序的执行,并且会标识出执行了哪一行源码,哪一行没有执行。 mips-linux-gnu-objdump: 显示一个或者更多目标文件的信息。使用选项来控制其显示的信息。它所显示的信息通常只有编写编译工具的人才感兴趣。 mips-linux-gnu-as: 是 GNU 汇编器,主要用来编译 GNU C 编译器 gcc 输出的汇编文件,它将汇编代码转换成二进制代码,并存放到一个object 文件中,该目标文件将由连接器 ld 连接 mips-linux-gnu-gdb: GNU 调试器。允许调试用 C\C++和其他语言编写的应用程序。它的基本运行方式是在 shell 环境下用命令方式进行调试程序和显示数据。如果加上一些图形前端(如 DDD 等软件),则可以在一个更方便的图形环境下调试程序 mips-linux-gnu-ranlib: 产生归档文件索引,并将其保存到这个归档文件中。在索引中列出了归档文件各成员所定义的可重分配目标文件。 mips-linux-gnu-c++: 标准的 C++编译器。 mips-linux-gnu-gdbtui: GDB 调试器的文本用户界面。 mips-linux-gnu-readelf: 显示 elf 格式可执行文件的信息 mips-linux-gnu-c++filt: 解码 C++ 符号名,连接器使用它来过滤 C++ 和 Java 符号,防止重载函数冲突。 mips-linux-gnu-gprof: 显示程序调用段的各种数据, 包括时间和次数等。 mips-linux-gnu-size: 列出目标文件每一段的大小以及总体的大小。默认情况下,对于每个目标文件或者一个归档文件中的每个模块只产生一行输出。 mips-linux-gnu-cpp: GNU 预处理器,主要用于扩展用户源程序的头文件和宏定义。cpp 是 GNU C 编译器的预处理器。cpp 是一个宏指令处理器,GNU C 编译器在编译前自动使用 cpp 对用户程序进行转换。cpp 之所以被称为宏指令处理器是因为它允许用户定义宏指令(长结构的简写)。 mips-linux-gnu-ld: GNU 链接器,主要用于确定相对地址,把多个 object 文件、起始代码段、库等链接起来,并最终形成一个可执行文件。 mips-linux-gnu-strings: 打印某个文件的可打印字符串,这些字符串最少 4 个字符长,也可以使用选项 -n 设置字符串的最小长度。默认情况下,它只打印目标文件初始化和可加载段中的可打印字符;对于其它类型的文件它打印整个文件的可打印字符,这个程序对于了解非文本文件的内容很有帮助。 mips-linux-gnu-g++: 基本符合 ISO 标准的 C++编译器。 mipslinuxgnunm: 列出 object 文件中的符号 mipslinuxgnustrip: 丢弃目标文件中的全部或者特定符号。 工具使用举例: 对于 GNU 工具链中的 GCC, G++, C++等不再举例。 mipslinuxgnuar: ar 用于建立、修改、提取归档文件,一个归档文件,是包含多个被包含文件的单个文件(也可以认为归档文件是一个库文件)。 被包含的原始文件的内容、权限、时间戳、所有者等属性都保存在归档文件中,并且在提取之后可以还原 主要参数: r - replace existing or insert new ?

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档