收藏 分享(赏)

7.Linux编程工具(二).ppt

上传人:hyngb9260 文档编号:7801163 上传时间:2019-05-26 格式:PPT 页数:14 大小:563.50KB
下载 相关 举报
7.Linux编程工具(二).ppt_第1页
第1页 / 共14页
7.Linux编程工具(二).ppt_第2页
第2页 / 共14页
7.Linux编程工具(二).ppt_第3页
第3页 / 共14页
7.Linux编程工具(二).ppt_第4页
第4页 / 共14页
7.Linux编程工具(二).ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、第七章 Linux编程工具(二),本章目标,Makefile工具 编写简单的makefile文件 Makefile自动化变量 多级目录编译方法,make工具,人们通常利用 make 工具来自动完成编译工作。这些工作包括:如果仅修改了某几个源文件,则只重新编译这几个源文件;如果某个头文件被修改了,则重新编译所有包含该头文件的源文件。利用这种自动编译可大大简化开发工作,避免不必要的重新编译。,Makefile,make 工具通过一个称为 makefile 的文件来完成并自动维护编译工作。makefile 需要按照某种语法进行编写,其中说明了如何编译各个源文件并连接生成可执行文件,并定义了源文件之间

2、的依赖关系。当修改了其中某个源文件时,如果其他源文件依赖于该文件,则也要重新编译所有依赖该文件的源文件。,Makefile基本规则,TARGET : DEPENDENCIES COMMAND 目标(TARGET)程序产生的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如“clean”。 依赖(DEPENDENCIES)是用来产生目标的输入文件,一个目标通常依赖于多个文件。,Makefile基本规则,命令(COMMAND)是make执行的动作,一个可以有多个命令,每个占一行。注意:每个命令行的起始字符必须为TAB字符! 如果DEPENDENCIES中有一个或多个文件更新的话,COMMA

3、ND就要执行,这就是Makefile最核心的内容,最简单的Makefile例子,main:main.o add.o subtract.ogcc main.o add.o subtract.o -o main main.o:main.c add.h subtract.hgcc -c main.c -o main.o add.o:add.c add.hgcc -c add.c -o add.o subtract.o:subtract.c subtract.hgcc -c subtract.c -o subtract.o clean:rm -f main main.o add.o subtract.

4、o,Makefile自动化变量,请演示更复杂的makefile,常见伪目标.PHONY,allinstallclean,Makefile中常见函数,wildcard函数 当前目录下匹配模式的文件 例如:src=$(wildcard *.c) notdir函数 去除路径 例如:$(notdir $src) patsubst函数 模式匹配替换 例如:$(patsubst %.c,%.o,$src) 等价于$(src:.c=.o) shell函数 执行shell命令 例如:$(shell ls d */),多级目录Makefile(1),在顶层目录中编写一个Makefile,CC = gcc SUB

5、DIR=$(shell ls d */) ELF = main ROOTSRC=$(wildcard *.c) ROOTOBJ=$(ROOTSRC:%.c=%.o) SUBSRC=$(shell find $(SUBDIR) -name *.c) SUBOBJ=$(SUBSRC:%.c=%.o)$ELF:$(ROOTOBJ) $(SUBOBJ)$(CC) -o $(ELF) $(ROOTOBJ) $(SUBOBJ) .c.o:echo $(D) $(F) $(F)$(CC) -c $(D)/$(F) -o $(D)/$(F)clean:rm $(ELF) $(TOPOBJ) $(SUBOBJ)

6、,多级目录Makefile(2),在各子目录分别编写Makefile include各子目录makefileinclude makefile文件名 进入各目录进行make make C 目录名 多个makefile间传递变量值 export 变量名,总结,VI工具使用 Gcc 编译原理 Gdb调试程序方法 Linux库文件和头文件 Makefile工具 编写简单的makefile文件,课后练习,封装链表模块 模块中涵盖链表的初始化、增删改节点、链表释放功能 将链表模块封装成共享库 编写测试程序,完成链表共享库的调用和功能验证,并编写Makefile(编译、安装install、清除编译结果clean),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报