- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
系列课程—Linux基础第七章多模块编译和链接讲师:杨行课程目标具备搭建linux系统平台能力系统安装具备Linux系统日常维护能力文件,目录结构linux的常用命令,ViShell脚本编程、管道及其重定向tftp,nfs服务器的配置熟悉Linux系统下的开发环境Gcc,Gdb课程安排第一天 上午:Linux系统简介和安装 下午:Linux安装实际演练第二天 上午:Linux基本操作命令 下午:Linux基本操作命令实战第三天 上午: Linux进程操作 下午:Linux服务器配置第四天 上午:Linux脚本编程 上 下午:Linux脚本编程下第五天 上午:源代码编译和调试 下午:多模块软件的编译和链接(预科内容,根据实际情况调整授课天数,4-10天) 课前提问Make –f文件,是什么文件 ?目标类表:关联性列表含义是什么?如何定义简单变量?举一个make内置变量的例子本章目标Make实用程序的功能使用makefile管理多模块软件makefile的规则,变量makefile的虚目标规则Makefile常见错误和调试知识点1-Make实用的软件都是拥有多个源文件这些源文件称之为模块多模块软件多模块软件优点缺点较小的程序文件易于维护知道所有文件的依赖性只需编译经过修改的源文件,而不是编译整个系统跟踪所有文件修改的时间戳支持信息隐藏必须键入很长的命令行Make一个差强人意的办法使用shell脚本上述的缺点,导致了make的产生。$cat build.scgcc –c prog1.c prog2.c prog3.cgcc –o prog prog1.o prog2.o prog3.oMake工程管理器,顾名思义,是指管理较多的文件 Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能构根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作 Make将只编译改动的代码文件,而不用完全编译。Make管理多模块程序的编译和连接读取一个说明文件---Makefile描述系统中各模块的依赖关系make使重编译的次数达到最小化Makefile描述的依赖关系各组件文件的时间戳Makefile 实质上是一种脚本语言Make语法make [选项] [目标] [宏定义] 目的Make程序更新文件是基于存放在一个文件中的依赖关系,称为Makefile。Make常用选项特性-d显示调试信息-f 文件指定从哪个文件中读取依赖关系信息。默认文件是”Makefile” 或 “makefile”“-” 表示从标准输入-h显示所有选项的简要说明-n不运行任何Makefile命令,只显示他们-s安静的方式运行,不显示任何信息知识点2—Makefile文件Makefile是Make读入的唯一配置文件 由make工具创建的目标体(target),通常是目标文件或可执行文件要创建的目标体所依赖的文件(dependency_file)创建每个目标体时需要运行的命令(command)注意:命令行前面必须是一个”TAB键”,否则编译错误为:*** missing separator. Stop.Makefile文件也称为先决条件目标列表: 关联性列表 Tab命令列表目标列表: 关联性列表; 命令列表Makefile格式2target: dependency_files;command例子hello.o: hello.c hello.h;gcc –c hello.c –o hello.oMakefile格式1target: dependency_filesTABcommand例子hello.o: hello.c hello.h gcc –c hello.c –o hello.oMakefile文件注释 #连接符\关联列表和命令列表中使用shell通配符?*[…]与shell脚本的相同Makefile文件实例源码 power.c#include math.h#include stdio.hVoid main(){ float x,y; printf(the program take x and from stdin and displays x^y.\n); printf(enter number x:); scanf(%f,x); printf(enter number y:); scanf(%f,y); printf(x^y is %6.3f\n,pow((double)x,(double)y));}$cat Makefile#Sample makefile for the power program#Remember:e
您可能关注的文档
最近下载
- 突发公共卫生事件应急处置预案专业知识培训.ppt
- 脑出血进展与指南解读白色ppt课件.ppt
- DB33酸性土壤改良技术规范.pdf
- 上海牛津(全国版)一年级英语上册《期末测试卷(二)》.doc
- 高中政治课程中跨学科融合的研究教学研究课题报告.docx
- 华为认证智能协作中级HCIP-CollaborationH11-861考试题及答案 (2).pdf
- 2023版29490-2023企业知识产权合规管理体系管理手册及全套程序文件.docx
- OMRON欧姆龙健康血压计血压计J7136说明书用户手册.pdf
- DB13_T 5414-2021 气瓶追溯管理系统规范.docx
- 第三讲把人民放在心中最高位置(课件)+学生读本高年级学生读本.pptx
文档评论(0)