扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
掌握makefile文件的配置,
通过编辑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元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流