- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 Makefile实验 提纲 实验目的 实验原理 实验内容 实验小结 习题与思考题 实验目的 了解Makefile的概念和构成 学会编写Makefile 会使用GNU make编译一个或者多个文件 Makefile的规则 如果这个工程没有编译过,那么我们的所有C文件都要编译并被链接。 如果这个工程的某几个C文件被修改,那么我们只编译被修改的C文件,并链接目标程序。 如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的C文件,并链接目标程序。 Makefile的基本结构 目标 --- 需要由 make 工具创建的项目,通常是目标文件和可执行文件 。 依赖 ---要创建的项目依赖于哪些文件 命令 ---创建每个项目时需要运行的命令 target : dependency ... ??????????? command ... Makefile变量 #?Define?macros?for?name?of?compiler CC?=?gcc #?Define?a?macr?o?for?the?CC?flags CCFLAGS?=??-g? // gcc指令的选项设置 #?A?rule?for?building?a?object?file test.o:?test.c?test.h $(CC)?-c?$(CCFLAGS)?test.c Makefile主要预定义变量及隐含规则 预定义变量及其含义 CC CCFLAGS …… GNU?make?支持两种类型的隐含规则: 后缀规则(Suffix?Rule) ?模式规则(pattern?rules) 实验内容--使用命令编译程序 使用命令编译程序 $(CC) $(CFLAGS) hello.o -o hello hello.o: hello.c $(CC) $(CFLAGS) -c hello.c -o hello.o 实验内容--使用预定义变量 $(CC) $(CFLAGS) $^ -o $@ hello.o: hello.c $(CC) $(CFLAGS) -c $ -o $@ 实验内容--使用预定义变量对多个c文件编译 all : hello hello: hello1.o hello2.o $(CC) $(CFLAGS) $^ -o $@ hello1.o: hello1.c $(CC) $(CFLAGS) -c $ -o $@ hello2.o: hello2.c $(CC) $(CFLAGS) -c $ -o $@ 使用wildcard对多个.c文件编译 wildcard’函数的一个功能是找出目录中所有的’.c’文件: $(wildcard *.c)????? SOURCES = $(wildcard *.c) ?? 这行会产生一个所有以 .c 结尾的文件的列表,然后存入变量 SOURCES 里。当然你不需要一定要把结果存入一个变量。 使用wildcard对多个.c文件编译 CC = gcc CFLAGS = -Wall -O2 /* -wall:生成所有级别警告信息, -O2:比-01进行更多的代码优化*/ CFILES = $(wildcard *.c ) OBJS = $(CFILES:%.c=%.o) all : hello hello : $(OBJS) $(CC) $(CFLAGS) -o hello $(OBJS) .c.o : 思考与习题 工程中多级目录中存在着多个makefile时,编译的顺序如何? 如果要编译生成的文件能够在EELIOD实验平台上面使用,应该怎么对makefile修改? * *
您可能关注的文档
- 嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 第十二章_基于无线物联网数据库的环境监测系统的实现.ppt
- 嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 第十一章_基于wifi手机控制的无线视频小车.ppt
- 嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 第十章_基于QT的嵌入式GUI程序设计基础.ppt
- 嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 第四章_嵌入式Linux开发.ppt
- 嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 第五章_嵌入式Linux启动程序_内核_根文件系统.ppt
- 嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 第一章_嵌入式Linux开发环境搭建_丰海.ppt
- 嵌入式Linux应用开发教程 教学课件 作者 华清远见嵌入式学院 赵苍明 穆煜 第八章 嵌入式Linux设备驱动编程.ppt
- 嵌入式Linux应用开发教程 教学课件 作者 华清远见嵌入式学院 赵苍明 穆煜 第二章嵌入式linux C语言开发工具.ppt
- 嵌入式Linux应用开发教程 教学课件 作者 华清远见嵌入式学院 赵苍明 穆煜 第九章 Qt图形编程.ppt
- 嵌入式Linux应用开发教程 教学课件 作者 华清远见嵌入式学院 赵苍明 穆煜 第六章 嵌入式Linux多任务编程.ppt
- 嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验二 八段码实验.ppt
- 嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验九 SD卡驱动程序实验.ppt
- 嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验六 GUI实验.ppt
- 嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验六 串口传输.ppt
- 嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验七 LCD控制器.ppt
- 嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验七 驱动程序结构实验.ppt
- 嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验三 bootloader实验.ppt
- 嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验三 定时器.ppt
- 嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验十二 串口通讯实验.ppt
- 嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验十六 嵌入式数据库移植实验.ppt
文档评论(0)