vs开发工具介绍.pptVIP

  1. 1、本文档共86页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用ar建立库文件(2) 编译成目标文件 建立库文件 将库文件拷贝到/usr/lib目录下 Ar的rv参数的说明: r:将多个文件组成一个文件 v:输出信息 * 精选文档整理合集 库文件使用举例 在代码中使用Add和Minus函数 * 精选文档整理合集 在编译时指定库文件 指明将libtest.a链接进来 运行结果 * 精选文档整理合集 nm nm的主要功能是列出目标文件中的符号,这样程序员就可以定位和分析执行程序和目标文件中的符号信息和它的属性 * 精选文档整理合集 nm显示的符号类型 A:符号的值是绝对值,并且不会被将来的链接所改变 B:符号位于未初始化数据部分(BSS段) C:符号是公共的。公共符号是未初始化的数据。在链接时,多个公共符号可能以相同的名字出现。如果符号在其他地方被定义,则该文件中的这个符号会被当作引用来处理 D:符号位于已初始化的数据部分 T:符号位于代码部分 U:符号未被定义 ?:符号类型未知,或者目标文件格式特殊 * 精选文档整理合集 nm使用举例 如果对test可执行文件使用nm, 会有什么结果呢? * 精选文档整理合集 objcopy 可以将一种格式的目标文件内容进行转换,并输出为另一种格式的目标文件。它使用GNU BFD(binary format description)库读/写目标文件,通过这个BFD库,objcopy能以一种不同于源目标文件的格式生成新的目标文件 $objcopy -h 在makefile里面用-O binary 选项来生成原始的二进制文件,即通常说的image文件 * 精选文档整理合集 Objcopy使用举例 使用file命令查看文件类型 生成srec格式的目标文件 使用file命令查看新文件的类型 * 精选文档整理合集 文件格式 a.out assembler and link editor output 汇编器和链接编辑器的输出 coff common object file format 一种通用的对象文件格式 ELF excutive linked file Linux系统所采用的一种通用文件格式,支持动态连接。ELF格式可以比COFF格式包含更多的调试信息 * 精选文档整理合集 文件格式 Flat elf格式有很大的文件头,flat文件对文件头和一些段信息做了简化 uClinux系统使用flat可执行文件格式 SREC MOTOROLA S-Recoder格式(S记录格式文件) 等等 * 精选文档整理合集 objdump 显示一个或多个目标文件的信息,由其选项来控制显示哪些信息。一般来说,objdump只对那些要编写编译工具的程序员有帮助,但是我们通过这个工具可以方便的查看执行文件或者库文件的信息 * 精选文档整理合集 Objdump使用举例(1) -f选项:显示文件头中的内容 * 精选文档整理合集 Objdump使用举例(2) -d选项进行反汇编 * 精选文档整理合集 readelf readelf软件显示一个或多个ELF格式的目标文件信息。 * 精选文档整理合集 Readelf使用举例 * 精选文档整理合集 其他GNU工具 Gdb—调试器 GNU make--软件工程工具 diff,patch--补丁工具 CVS--版本控制系统 * 精选文档整理合集 GNU Toolchain—gdb Gdb = GNU debuger GNU tools中的调试器,功能强大 设置断点 监视、修改变量 单步执行 显示/修改寄存器的值 堆栈查看 远程调试 * 精选文档整理合集 gdb使用举例(1) 源代码如下 编译: gcc –o bug bug.c * 精选文档整理合集 gdb使用举例(2) 编译并运行 ???? 编译 * 精选文档整理合集 gdb使用举例(3) 使用gdb调试bug 运行bug 输入字符串 出错位置 能不能看到源代码呢? * 精选文档整理合集 使用gcc的-g参数 gcc –g –o bug bug.c 重新调试 源代码 * 精选文档整理合集 * 精选文档整理合集 使用GNU make管理项目 GNU make是一种代码维护工具,在使用GNU编译器开发大型应用时,往往要使用make管理项目。 如果不使用make管理项目,就必须重复使用多个复杂的命令行维护项目和生成目标代码。Make通过将命令行保存到makefile中简化了编译工作。 Make的主要任务是根据makefile中定义的规则和步骤,根据各个模块的更新情况,自动完成整个软件项目的维护和代码生成工作。 * 精选文档整理合集 嵌入式交叉开发工具 掌握嵌入式开发工具的使用是进行嵌入式开发的前提条件之一 与主流软件开发工具类似,嵌入式交叉开发工具也包括 编译器, 即能够把一个源程

文档评论(0)

159****1262 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档