- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10分钟教你学会Makefile课件
Linux基础 – Makfile
袒攒追羊廖乙便沼走挽泵魄荣航甸木答诊翠电代史谚寿浓割稚昧绦芭紫剔10分钟教你学会Makefile课件10分钟教你学会Makefile课件
编译流程
编译流程:
预处理-编译-汇编-链接
每个编译的环节都会产生不同类型的文件,对于C程序:
预处理 - .i文件
编译 - .s文件
汇编 - .o文件 = .a文件 .so文件
链接 - 可执行文件
每个环节都有自己的依赖,即若想生成.o文件,那么需要.s、.i、.c文件。
滓啦为篮掐台汤起者围凄解劫蹿随巫哈杭就咽束糊倘膳毡量屋辰镐寻阻穷10分钟教你学会Makefile课件10分钟教你学会Makefile课件
编译思考
对于庞大的工程项目,比如内核源码中存在成千上万个源文件,那么编译的时候,如何实现自动化编译,即源头文件与头文件或者静、动态库之间找到彼此的依赖关系进行编译,最终生成目标文件。
大多数的Winodws的程序员不需要深入了解自动化编译流程,因为Windows的IDE(Integrated Development Environment)已经做了相关的工作,比如VC,VB等。而Linux下没有这样的IDE,通常需要程序员做用脚本自行书写。
要做一个好的professional程序员,尤其是linux程序员,至少需要懂得设计该脚本 - Makefile。
宫毅埠猛丫儡缆著宙恃皇胸喳草舌吗旧唾器监它檬固域亡贩郸烹脊蝎凤寻10分钟教你学会Makefile课件10分钟教你学会Makefile课件
Makefile的介绍
认识Makefile和make。
Makfile是一种纯文本的编译脚本,在其中可以指定需要编译哪些文件,哪些先编译,哪些后编译,哪些需要重新编译,最终需要生成怎么样的应用程序。
make是一种命令,它用来解释Makefile脚本,并根据脚本中的指定内容,进行操作。
阎糊让茎俐锌彰臼炒愉露碳扎唤创民道沁孵耗暖挟勾淫悦饼宅僳尹尺肠沾10分钟教你学会Makefile课件10分钟教你学会Makefile课件
Makefile的命名及执行方式
使用make命令执行Makefile文件。
在默认情况下,make会执行当前目录下的Makefile文件。若当前目录下找不到相关的Makefile文件,则会出现错误:
make: *** No targets specified and no makefile found. Stop.
Makefile文件的命名可以为“Makefile或makefile。
如果使用非标准命名的makefile,必须用命令开关-f 或 “-file”。参数 “-f name” 或 “--file mane”告诉make 读入name 作为makefile文件。
柠汾吴共盅房勒测沉犁废寓牲械胸晃岗珊胺反答比彰讣耘奇什雹脖蛛婴灸10分钟教你学会Makefile课件10分钟教你学会Makefile课件
Makefile的好处
Makefile带来的好处——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
另一个好处,某工程有10万个源文件,如果其中某一个源文件发生改变,不需要重新编译整个工程,但是我们生成应用程序前需要将所有的源文件生成.o文件。makefile会根据文件更新时间而判断,是否需要重新编译源文件成.o文件,在生成应用程序时,只需要将所有的.o文件做链接即可。
糕畴噪蜀冻衫孪埠窝簧罢绚芹葛号绩棉犯喝粳蹄铺柒耪粹蹦往具姚附秋顷10分钟教你学会Makefile课件10分钟教你学会Makefile课件
Makefile简单的练习
有三个源程序
程序fun1.c :
程序fun2.c :
程序main.c:
使用gcc编译出应用程序test:
#gcc fun1.c fun2.c main.c -o test
接下来,我们使用Makefile来写一个脚本。
釉翼豁傲当探琢敏厕椭均接挥看抚朋措恰彦杭酸怪攻市瓶棍常六缚盆岭胆10分钟教你学会Makefile课件10分钟教你学会Makefile课件
Makefile简单的练习
#sample makefile script
CC=gcc
SRCS=fun1.c fun2.c main.c
EXEC=test
all:
$(CC) $(SRCS) -o $(EXEC)
编写完后,保存,在当前目录下执行make命令,生成可执行程序test
娠烦衔绷渴疫涕挤殷婶眼熄拒涎感阴暖掌彝泰呼呸惰股盎诱陡埂鲍询艘刁10分钟教你学会Makefile课件10分钟教你学会Makefile课件
Makefile的组成
Makefile里主要包含了五种类型的语句:
显
您可能关注的文档
最近下载
- 2024年怒江州福贡县义务教育教师专项招聘真题.docx VIP
- 《搭石》第2课时公开课教学课件【部编人教版五年级语文上册】.ppt VIP
- 《海岸工程混凝土结构耐久性技术标准》GBT51464-2024知识培训.pptx VIP
- AQT3034—2022化工过程安全管理导则.pdf VIP
- 巴中市巴州区事业单位考试考试题库2024.docx VIP
- 小学数学新西师版一年级上册全册教案(2024秋).doc
- 2025年秋新教科版三年级上册科学全册精编教案教学设计(新教材).docx
- 《第4单元 花卉盆景技术——水仙盆景的设计与制作课件》初中劳动技术沪科教版七年级课件7216.ppt VIP
- 2025年新教材道德与法治三年级上册第一单元《做学习的主人》教案设计.docx VIP
- 惠普 HP E87640 E87650 E87660 彩色数码复印机中文维修手册.pdf VIP
文档评论(0)