- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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包含结果输
您可能关注的文档
- 工业园区环保协会运作构思方案课件.pptx
- 2024-2030年汽车儿童乘员传感器行业市场现状供需分析及重点企业投资评估规划分析研究报告.docx
- 2024-2030年汽车工程服务外包(ESO)行业市场现状供需分析及重点企业投资评估规划分析研究报告.docx
- 2024-2030年汽车插入式继电器行业市场现状供需分析及重点企业投资评估规划分析研究报告.docx
- 2024-2030年汽车活塞设备行业市场现状供需分析及重点企业投资评估规划分析研究报告.docx
- 2024-2030年汽车温湿度传感器行业市场现状供需分析及重点企业投资评估规划分析研究报告.docx
- 2024-2030年汽车用S型压力传感器行业市场现状供需分析及重点企业投资评估规划分析研究报告.docx
- 2024-2030年汽车电子保形涂料行业市场现状供需分析及重点企业投资评估规划分析研究报告.docx
- 2024-2030年汽车紧凑型相机模块行业市场现状供需分析及重点企业投资评估规划分析研究报告.docx
- 工业分析样品处理课件.ppt
最近下载
- 人教版六年级上册英语第三单元教案和反思1.pdf
- ISO 20653-2023中文-道路车辆.防护等级.pdf
- 幼儿园教案幼儿园中班优质课教案.doc VIP
- 2023中国工商银行四川分行秋季校园招聘笔试历年典型考题及考点剖析附带答案详解.docx
- 顺丰控股香港上市IPO招股说明书2024版.pdf
- 3.3 地波天线.ppt
- 中国第一高中湖北卷湖北省武汉市华中师范大学第一附属中2024-2025学年高三上学期10月检测(10.19-10(含答案).pdf VIP
- 智慧消防及消防监管云平台解决方案.pptx
- 美国Megger TM1700断路器分析仪使用说明书.pdf VIP
- 水利科学技术史.pdf VIP
文档评论(0)