C语言强化(GNUMake).pptVIP

  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文档。上传文档
查看更多
GNU Make 培训目的 通过本课程学习,达到了解GNU Make工作原理,能独立编写简单Makefile进行程序编译的目的。 内容纲要 GNU Make概述 关于Makefile 编译开关 讨论 GNU Make概述 GNU Make是一个命令工具,通过在shell提示符下输入make命令调用。不过在执行make之前,需要一个命名为Makefile的特殊文件来告诉make需要做什么,该怎么做。通常,make工具被用来进行工程编译和程序链接。 内容纲要 GNU Make概述 关于Makefile 编译开关 讨论 关于Makefile 简介 示例 变量 隐藏规则 假象目的 函数 关于Makefile-简介 Makefile告诉make以何种方式编译源代码和链接程序。Makefile有自己的书写格式、关键字、函数。像C语言有自己的格式、关键字和函数一样。 一个简单的Makefile描述规则组成: 目标 : 依赖文件 [TAB]命令 关于Makefile-示例 HelloWorld: main.o common.o gcc -Wall -o HelloWorld main.o common.o main.o:main.c gcc -c -Wall -o main.o main.c common.o:common.c common.h gcc -c -Wall -o common.o common.c 关于Makefile-变量 OBJS = main.o common.o CC = gcc CFLAGS = -Wall HelloWorld: $(OBJS) $(CC) $(CFLAGS) -o HelloWorld $(OBJS) main.o:main.c $(CC) -c $(CFLAGS) -o main.o main.c common.o:common.c common.h $(CC) -c $(CFLAGS) -o common.o common.c OBJS = main.o common.o CC = gcc CFLAGS = -Wall HelloWorld: $(OBJS) $(CC) $(CFLAGS) -o $@ $^ main.o:main.c $(CC) -c $(CFLAGS) -o $@ $ common.o:common.c common.h $(CC) -c $(CFLAGS) -o $@ $ 关于Makefile-隐藏规则 OBJS = main.o common.o CC = gcc CFLAGS = -Wall HelloWorld: $(OBJS) $(CC) $(CFLAGS) -o HelloWorld $(OBJS) 增加依赖关系: OBJS = main.o common.o CC = gcc CFLAGS = -Wall HelloWorld: $(OBJS) $(CC) $(CFLAGS) -o HelloWorld $(OBJS) depends : main.c common.c gcc -MM main.c common.c depends -include depends 关于Makefile-假象目的 OBJS = main.o common.o CC = gcc CFLAGS = -Wall all: $(OBJS) $(CC) $(CFLAGS) -o HelloWorld $(OBJS) .PHONY : clean clean : -rm *.o *.exe 关于Makefile-函数 OBJS = $(patsubst %.c,%.o,$(wildcard *.c)) CC = gcc CFLAGS = -Wall HelloWorld: $(OBJS) $(CC) $(CFLAGS) -o HelloWorld $(OBJS) .PHONY : clean clean : -rm *.o *.exe 内容纲要 GNU Make概述 关于Makefile 编译开关 讨论 编译开关 -c 编译成目标文件,不链接 -o 目标文件名称 -I #include xxxx.h -D 宏定义 -W 编译警告控制,要求使用-Wall打开所有警告开关 gcc -c -Wall -ID:\work\tempproject\include -D ABC=3 -o main.o main.c 内容纲要 GNU Make概述 关于Makefile 编译开关 讨论 讨论 练习: 1.要求编写一个Makefile用于将a.c、b.c、c.c编译生成一个autod

文档评论(0)

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

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

1亿VIP精品文档

相关文档