【操作系统实验1】MakeUtility实验-创新互联
一、实验目标
当前名称:【操作系统实验1】MakeUtility实验-创新互联
浏览路径:http://azwzsj.com/article/dpsgdh.html
掌握makefile文件的配置,
成都创新互联公司网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都做网站、成都网站建设,重庆APP开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。成都创新互联公司深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!二、实验内容 1.思路:通过编辑makefile配置文件,简化编译工作。利用 vi edtor 手动编写代码例子后,用 make utility 编译工具进行编译,查看编译过程并分析
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