- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
源程序add.c和minus.c编译成目标文件将库文件拷贝到/usr/lib目录下建立库文件Ar的rv参数的说明:r:将多个文件组成一个文件v:输出信息运行结果指明将libtest.a链接进来nm的主要功能是列出目标文件中的符号,这样程序员就可以定位和分析执行程序和目标文件中的符号信息和它的属性符号的值是绝对值,并且不会被将来的链接所改变符号位于未初始化数据部分(BSS段)符号是公共的。公共符号是未初始化的数据。在链接时,多个公共符号可能以相同的名字出现。如果符号在其他地方被定义,则该文件中的这个符号会被当作引用来处理符号位于已初始化的数据部分符号位于代码部分符号未被定义?:符号类型未知,或者目标文件格式特殊 如果对test可执行文件使用nm,会有什么结果呢?可以将一种格式的目标文件内容进行转换,并输出为另一种格式的目标文件。它使用GNUBFD(binaryformatdescription)库读/写目标文件,通过这个BFD库,objcopy能以一种不同于源目标文件的格式生成新的目标文件$objcopy-h在makefile里面用-Obinary选项来生成原始的二进制文件,即通常说的image文件使用file命令查看文件类型使用file命令查看新文件的类型生成srec格式的目标文件a.out
assemblerandlinkeditoroutput
汇编器和链接编辑器的输出coff
commonobjectfileformat
一种通用的对象文件格式ELF
excutivelinkedfile
Linux系统所采用的一种通用文件格式,支持动态连接。ELF格式可以比COFF格式包含更多的调试信息Flatelf格式有很大的文件头,flat文件对文件头和一些段信息做了简化uClinux系统使用flat可执行文件格式SRECMOTOROLAS-Recoder格式(S记录格式文件)等等321456显示一个或多个目标文件的信息,由其选项来控制显示哪些信息。一般来说,objdump只对那些要编写编译工具的程序员有帮助,但是我们通过这个工具可以方便的查看执行文件或者库文件的信息f选项:显示文件头中的内容d选项进行反汇编readelf软件显示一个或多个ELF格式的目标文件信息。Gdb—调试器diff,patch--补丁工具GNUmake--软件工程工具CVS--版本控制系统01030204Gdb=GNUdebuger1GNUtools中的调试器,功能强大2设置断点3监视、修改变量4单步执行5显示/修改寄存器的值6堆栈查看7远程调试8源代码如下编译:gcc–obugbug.c????编译目标机:主机:开发软件的平台,称为主机,往往是通用电脑;运行软件的平台,称为目标机,在这里是嵌入式系统。掌握嵌入式开发工具的使用是进行嵌入式开发的前提条件之一与主流软件开发工具类似,嵌入式交叉开发工具也包括编译器,
即能够把一个源程序编译生成一个可执行程序的软件调试工具,
即能够对执行程序进行源码或汇编级调试的软件软件工程工具,
用于协助多人开发或大型软件项目的管理的软件GNUtools和其他一些优秀的开源软件可以完全覆盖上述类型的软件开发工具。为了更好的开发嵌入式系统,需要了解如下一些软件GCCBinutils—辅助GCC的主要软件GdbmakecvsGCC很多人认为GCC只是一个C编译器,
其实GCC=GNUCompilerCollection目前,GCC可以支持多种高级语言,如C、C++ADAObjectCJAVAFortranPASCAL215cpp—预处理器GNUC编译器在编译前自动使用cpp对用户程序进行预处理gcj—GCC的java前端4g++—基本符合ISO标准的C++编译器3gcc—符合ISO等标准的C编译器6gnat—GCC的GNUADA95前端gcc是一个强大的工具集合,它包含了预处理器,编译器,汇编器,链接器等组件。它会在需要的时候调用其他组件。01输入文件的类型和传递给gcc的参数决定了gcc调用具体的哪些组件。02对于开发者,它提供的足够多的参数,可以让开发者全面控制代码的生成,这对嵌入式系统级的软件开发非常重要03运行编译如果使用-v选项,则可以看到许多被隐藏的信息xlanchen@2006.5.18EmbeddedOperatingSystems*1一般情况下,c程序的编译过
您可能关注的文档
- 小学语文多音字练习题.ppt
- 小学语文分段策略(一).ppt
- 抗生素选用及应用.ppt
- 小学五年级下册数学观察物体PPT课件.ppt
- 市场营销学通论.ppt
- 小学语文句子总复习(全国通用版).ppt
- 小学三年级美术第三课:优美的生活环境.ppt
- 实训15晶体三极管.ppt
- 幼儿园幼小衔接数学:第二课数字数量对应及统计.ppt
- 小说标题的作用实用.ppt
- 2025年贵州工业职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年西昌民族幼儿师范高等专科学校高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年西藏警官高等专科学校高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025年贵州工商职业学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 2025年贵州工商职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年贵州农业职业学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年贵州工商职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年贵州工商职业学院高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025年许昌职业技术学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年许昌职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
文档评论(0)