《makefile学习心得体会总结报告》ppt课件讲义.pptVIP

《makefile学习心得体会总结报告》ppt课件讲义.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
It is applicable to work report, lecture and teaching;简单介绍Makefile;编译和链接规则(输入make命令之后将按照以下规则工作);通用的Makefile里包含什么;完整Makefile里包含什么;书写一个简单的Makefile(适合所有文件在一个文件夹的情况);目标:在工作目录下有4个文件夹 分别是 sources(源文件) obj (中间文件)headers(头文件) bin(目标文件) sources里面有 main.c cn_work.c fun.c obj 里面最初没有文件 headers 里面有 fun.h cn_work.h 最终目标取名为 cn_work 它应存放到bin里面 开始写Makefile的预备知识: gcc 的3个参数: 1. -o 指定目标文件 gcc sources/main.c -o bin/main 2. -c 编译的时候只生产目标文件不链接 gcc -c sources/main.c -o obj/main.o 3. -I 主要指定头文件的搜索路径 gcc -I headers -c main.c -o main.o ;bin/cn_work : obj/main.o obj/cn_work.o obj/fun.o gcc obj/main.o obj/cn_work.o obj/fun.o -o bin/cn_work (命令一定要用以Tab开头) obj/cn_work.o : sources/cn_work.c gcc -I headers -c sources/cn_work.c -o obj/cn_work.o obj/main.o : sources/main.c gcc -I headers -c sources/main.c -o obj/fun.o : sources/fun.c gcc -I headers -c -o clean: rm -f bin/cn_work *.o ;用隐式规则改进: 3个符号介绍: 1. $@ 表示要生成的目标 2. $^ 表示全部的依赖文件 3. $ 表示第一个依赖文件 bin/cn_work : obj/main.o obj/cn_work.o obj/fun.o gcc $^ -o $@ (命令一定要用以Tab开头) obj/cn_work.o : sources/cn_work.c gcc -I headers -c $ -o $@ obj/main.o : sources/main.c gcc -I headers -c $ -o $@ obj/fun.o : sources/fun.c gcc -I headers -c $ -o $@ clean: rm -f bin/cn_work *.o ;变量的引入和应用: CC=gcc HD=-I headers SC=-c $ OBJ=-o $@ bin/cn_work : obj/main.o obj/cn_work.o obj/fun.o gcc $^ -o $@ (命令一定要用以Tab开头) obj/cn_work.o : sources/cn_work.c $(CC) $(HD) $(SC) $(OBJ) obj/main.o : sources/main.c $(CC) $(HD) $(SC) $(OBJ) obj/fun.o : sources/fun.c $(CC) $(HD) $(SC) $(OBJ) clean: rm -f bin/cn_work *.o;当我们输入make到终端的时候,终端就会依次显示所有的执行过的命令,方便我们查看进度。 gcc -I headers -c sources/cn_work.c -o obj/cn_work.o gcc -I headers -c sources/main.c -o gcc -I headers -c -o gcc obj/main.o obj/cn_work.o obj/fun.o -o bin/cn_work clean: @rm -f bin/cn_work *.o 用@字符的时候,命令将不被显示出来,它和echo结合使用类似于dos下的应用。 在makefile执行时,make 带有参数

文档评论(0)

zhigai_zhu + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档