【操作系统实验1】MakeUtility实验-创新互联

一、实验目标

掌握makefile文件的配置,

成都创新互联公司网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都做网站、成都网站建设,重庆APP开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。成都创新互联公司深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!二、实验内容 1.思路:

通过编辑makefile配置文件,简化编译工作。利用 vi edtor 手动编写代码例子后,用 make utility 编译工具进行编译,查看编译过程并分析

2.主要代码

在这里插入图片描述
在这里插入图片描述

2.过程及运行结果展示

在这里插入图片描述
修改 b.h 头文件,用 make utility 重新进行编译,查看编译过程并比较分析。
在这里插入图片描述
把生成的2.o文件删除,重新执行 make 操作,并查看结果
在这里插入图片描述
利用宏定义 Makefile 进行编译,删除所生成的目标文件,并重新执行 make 操作,并查看结果
在这里插入图片描述

三、实验结论

Make Utility 是一个命令解释工具,它解释配置文件中的指令(规则),可以只针对被修改的源文件进行重新编译。我们可以通过 Makefile 来编译配置文件;定义编译时的编译规则(来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译);定义了源文件编译中、编译后,对生成文件的配置和管理(存放规则等)。Makefile宏指令是编译 Makefile 时更一般的形式,可以指定编译选项,提高效率。

附录:实验源码
//a.h
#includevoid function_two();
void function_three();





//b.h
#include#includevoid function_two();





//c.h
#includevoid function_three();





//2.c
#include "a.h"

#include "b.h"


void function_two(){printf(" This is 2\n");

}





//3.c
#include "a.h"

#include "b.h"


void function_three(){printf(" This is 3\n");

}





//main.c
#include "a.h"


extern void function_two();
extern void function_three();

int main()

{function_two();

	function_three();

	return 0;

}





//Makefile1
myapp: main.o 2.o 3.o
	gcc -o myapp main.o 2.o 3.o


main.o: main.c a.h
	gcc -c main.c
2.o: 2.c a.h b.h
	gcc -c 2.c
3.o: 3.c b.h c.h
	gcc -c 3.c





//Makefile2
all: myapp

# Which compiler
CC = gcc
# Where are include files kept
INCLUDE = .
# Options for development
CFLAGS = -g -Wall -ansi
# Options for release
CFLAGS = -O -Wall -ansi

myapp: main.o 2.o 3.o
	$(CC) -o myapp main.o 2.o 3.o
main.o: main.c a.h
	$(CC) -I$(INCLUDE) $(CFLAGS) -c main.c
2.o: 2.c a.h b.h
	$(CC) -I$(INCLUDE) $(CFLAGS) -c 2.c
3.o: 3.c b.h c.h
	$(CC) -I$(INCLUDE) $(CFLAGS) -c 3.c


你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前名称:【操作系统实验1】MakeUtility实验-创新互联
浏览路径:http://azwzsj.com/article/dpsgdh.html