- 1、本文档共86页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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.outassembler and link editor output 汇编器和链接编辑器的输出 coffcommon object file format一种通用的对象文件格式 ELFexcutive linked fileLinux系统所采用的一种通用文件格式,支持动态连接。ELF格式可以比COFF格式包含更多的调试信息 * 精选文档整理合集 文件格式 Flatelf格式有很大的文件头,flat文件对文件头和一些段信息做了简化uClinux系统使用flat可执行文件格式 SRECMOTOROLA 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中定义的规则和步骤,根据各个模块的更新情况,自动完成整个软件项目的维护和代码生成工作。 * 精选文档整理合集 嵌入式交叉开发工具 掌握嵌入式开发工具的使用是进行嵌入式开发的前提条件之一 与主流软件开发工具类似,嵌入式交叉开发工具也包括 编译器,即能够把一个源程
您可能关注的文档
- CH 6-6全息术幻灯片演练.ppt
- Cpn算法的具体应用及其matlab实现.ppt
- CPLD与 FPGA工作原理简介.ppt
- IPv4与IPv6的对比与说明.ppt
- OR-CAD培训教程教案.ppt
- SystemVerilog过程块、任务和函数.ppt
- WebPlus 网页制作与维护.ppt
- X X百货(集团)新店筹备管理体系设计方案.ppt
- 阿尔茨海默病的流行病学 (Alzheimer' Disease,AD).ppt
- 阿诗玛民歌欣赏.ppt
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
最近下载
- 通用学术英语进阶(北京科技大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 最新部编版语文期末复习三年级非连续性文本阅读(附参考答案).docx
- 政务服务中心软硬件项目运维服务方案2.doc VIP
- 火力发电厂直接空冷工程技术规范初稿.doc
- 2024年河北省继续医学教育公共选修课参考答案.pdf VIP
- 老友记台词剧本第一季第1集中英双语左右对照.pdf
- 2024-2025学年广东省广州市省实教育集团初三数学试题第一次模拟考试试题含解析.doc VIP
- 【国家标准】国家职业技能标准 (2019年版) 起重装卸机械操作工.pdf
- 肺结核诊疗方案毕业设计.docx
- 2024年广东省职业院校技能大赛(中职组)智慧物流作业赛项考试题库(含答案).docx VIP
文档评论(0)