嵌入式系统构建和调试基本工具课件.pptVIP

嵌入式系统构建和调试基本工具课件.ppt

  1. 1、本文档共82页,可阅读全部内容。
  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文档。上传文档
查看更多

第7章嵌入式系统构建和调试基本工具邹昕光哈尔滨工业大学自动化测试与控制研究所

软件的构建是从代码到可执行程序,程序库等二进制文件的转换过程;n构建过程大致分为n编译(将一个代码文件转换成对应的一个二进制文件目标文件)q链接(将多个二进制目标文件融合成一个二进制文件)q

构建过程的管理采用构建配置文件的方式,指导构建软件自动进行构建;n配置文件需要程序员给出n手工撰写q通过IDE工具产生q

代码的调试字符界面的调试工具——gdbn图形界面的调试工具——Workbench集成的交互调试工具n

课程内容编译链接工具nqgccarq项目管理工具nnqmake调试工具qqgdbworkbench的调试工具

GCCGCC的组件n名称功能描述cppC预处理器g++C++编译器gccC编译器gccbuggcov创建bug报告的shell脚本覆盖测试工具,分析如何优化程序gcc的运行库libgcclibstdc++libsupc++标准C++库提供支持C++语音的库函数

gcc跨平台的编译器–GNU项目的C编译器n四个步骤n-预处理preprocessing-编译compilation-汇编assembly-连接linking

gcc

gcc预处理n处理诸如#define#include之类的预处理指令gcc通过调用cpp程序执行这项功能qq编译nn将输入文件转换成汇编语言文件q汇编将汇编语言文件转换为目标文件gcc通过调用gas执行这项功能qq链接n将一个或多个目标文件组装成可执行文件gcc通过调用ld执行这项功能qq

gcc常用选项n符号意义c只进行编译和汇编产生目标文件指定输出文件名ooutfileg在编译产生的文件中附加调试信息尽可能多的产生编译警告信息将警告信息视为错误信息定义变量WallWerrorDLl添加库搜索路径指定搜索的库名E只进行预处理

gcc示例示例说明n随机数测试程序qq包含代码文件文件用途main.c主文件randutil.hrandutil.cdisplayutil.hdisplayutil.c随机函数头文件随机函数实现文件显示函数头文件显示函数实现文件

gcc示例一次性构建nqgccmain.cdisplayutil.crandutil.c-ocompute特点n所有的代码都编译链接到可执行文件compute中;qq任何一个代码文件被修改,所有代码文件都需要重新编译链接;比较适合tiny型项目。q

gcc示例一步一步构建ngcc-crandutil.cgcc-cdisplayutil.cgcc-cmain.cgccrandutil.odisplay.omain.o-ocompute特点n所有代码都编译链接进可执行文件compute中某个代码文件被修改,其他代码文件无需重新编译小型项目一般采用这种方式qqq

gcc示例定义变量nmain.c的代码片段n1#includerandapi.h2#includedlfcn.h3#includestdio.h4#defineITERATIONS1000000L56intmain()7{…1718for(i=0;iITERATIONS;i++)isum+=getRand(10);…

gcc示例如果删除第4句,编译会出错n解决办法nqgcc-c-DITERATIONS=1000000test.c

gcc示例nngcc-Emain.cmain.i观察#include指令和#define指令的转换

ar管理程序库归档文件(archive)的创建,修改和文件提取程序;narchive文件是一个包含一组其他文件的文件,n以一定结构组织这些文件,使得可以从archive文件中提取出单个文件;原文件的内容和文件属性信息保存在archive文件中,并能在文件提取时恢复;n

ar命令格式nqqqar[options]archive[member…]archive归档文件名member加入归档文件的文件名命令行选项nr将member文件插入archive中,如果使用v修饰r,q即vr一起用,代表以替换的方式将member文件插入archive中。t显示archive的内容列表q

ar例子arDemonn创建一个程序库,包含randutil.o和displayutil.oqarrvlibutil.arandutil.odisplayutil.o列出程序库libtuil.a的成员nqartlibutil.a

gcc示例例子libDemon计算随机数平均值的软件,其中main.c是主程序;qrandutil.c包含随机数计算程序;display.c包含结果输

您可能关注的文档

文档评论(0)

191****0059 + 关注
官方认证
文档贡献者

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

版权声明书
用户编号:5342242001000034
认证主体四川龙斌文化科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6ADW1H0N

1亿VIP精品文档

相关文档