- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 编程工具
* * * * * * * - * - 程序生成工具—make工具 示例7-2:对于上例中的hello.c程序,可以在hello.c所在的目录编写如下Makefile hello.exe:hello.c gcc –o hello.exe hello.c 上述文件中,hello.exe是目标文件,hello.c是其依赖的文件列表,“gcc –o hello.exe hell.c”是生成目标hello.exe所要执行的命令。 - * - 程序生成工具—make工具 示例7-3:按照Makefile的规则,还可以如下编写Makefile hello.exe:hello.o gcc –o hello.exe hello.o hello.o:hello.c gcc –o hello.o hello.c 上述文件中,编写了两条规则: 第一条规则:hello.exe是目标文件,hello.o是其依赖的文件列表,“gcc –o hello.exe hell.o”是生成目标hello.exe所要执行的命令; 第二条规则:hello.o是目标文件,hello.c是其依赖的文件列表,“gcc –o hello.o hell.c”是生成目标hello.o所要执行的命令 - * - 程序生成工具—make工具 示例7-3:按照Makefile的规则,还可以如下编写Makefile hello.exe:hello.o gcc –o hello.exe hello.o hello.o:hello.c gcc –o hello.o hello.c 当使用make工具执行上述Makefile时,遇到第一条规则时,由于目标hello.exe所依赖的hello.o不存在,make将寻找可以生成目标hello.o的规则,因此继续往下解释执行后面的规则,由于第二条规则中的依赖文件hello.c存在,因此make工具解释执行此规则,而后make工具会再次回来解释执行第一条规则,最终生成目标hello.exe。 - * - 程序生成工具—make工具 无论上述那个Makefile文件(本例假设使用上述第一个Makefile文件),都可以直接执行make命令,make工具自动寻找当前目录下的Makefile,并解释执行其中的规则: $ make - * - 程序生成工具—make工具 【任务描述】7.D.3,使用Makefile文件自动编译链接程序。 1、建立程序目录 $ mkdir ch07 $ cd ch07 - * - 程序生成工具—make工具 【任务描述】7.D.3,使用Makefile文件自动编译链接程序。 2、用gedit编辑calc程序文件 //add.c #include add.h int add(int a,int b,int c) { return a+b+c; } - * - 程序生成工具—make工具 【任务描述】7.D.3,使用Makefile文件自动编译链接程序。 2、用gedit编辑calc程序文件 //add.h int add(int a,int b,int c); - * - 程序生成工具—make工具 【任务描述】7.D.3,使用Makefile文件自动编译链接程序。 2、用gedit编辑calc程序文件 //main.c #include stdio.h #include add.h int main() { int a = 1; int b = 2; int c = 3; int x=0; x = add(a,b,c); printf(a+b+c=%d\n,x); return 0; } - * - 程序生成工具—make工具 【任务描述】7.D.3,使用Makefile文件自动编译链接程序。 3、用gedit编辑Makefile文件 calc:add.o main.o gcc -o calc add.o main.o add.o:add.c add.h gcc -c add.c main.o:main.c add.h gcc -c main.c - * - 程序生成工具—make工具 【任务描述】7.D.3,使用Makefile文件自动编译链接程序。 4、执行make命令,并测试程序 $ make $ ./calc - * - 程序分析工具—gprof工具 程序分析工具不同于程序调试,它只产生程序运行时某些函数的调用次数、执行时间等等宏观信息,而不是每条语句执行时的详细信息。 程序分析工具包括静态分析工具和动态分析工具: 静态分析指的是在非执行状态下分析它的结构和属性 动态分析指的是在程序运行时做出的分析。 在Linux
您可能关注的文档
最近下载
- 储能技术-全套PPT课件.pptx
- 高中高考备考经验课件.pptx VIP
- 黄精种植项目可行性研究报告写作范文.doc VIP
- 项目2 2.3 植物根&茎&叶的形态与结构观察(课件)-《植物生产与环境》(高教版第4版)同步精品课堂.pptx VIP
- 项目2 2.3 植物的营养器官(4)(课件)-《植物生产与环境》(高教版第4版)同步精品课堂.pptx VIP
- 教学副校长在全体教师大会上发言:听好每一节课,走好专业每一步.docx
- 磁力泵试题及答案.docx VIP
- 一种利福霉素S-Na盐的合成方法.pdf VIP
- 项目2 2.3 植物的营养器官(3)(课件)-《植物生产与环境》(高教版第4版)同步精品课堂.pptx VIP
- WHO《数据完整性指南》2021(中英文对照版).docx VIP
文档评论(0)