首先介绍一下makefile:
1.会不会写makefile,从侧面说明一个人是否具备完成大型工程的能力
2.一个工程的源文件很多,按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先 编译哪些文件后编译,哪些文件需要重新编译,甚至进行更复杂的功能操作
3.makefile带来的好处就是“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动化编译极大的提高了软件开发的 效率
4.make是一个命令工具,是一个解释makefile中指令的命令工具
5.make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建
看一个例子:
C代码:
#include<stdio.h>
2 int main()
3 {
4 printf("hello Makefile\n");
5 return 0;
6 }
Makefile文件:里面放的是依赖关系和依赖方法
hello:hello.c
gcc -o hello hello.c
hello 可执行文件 依赖于hello.c (依赖方法)
gcc -o hello hello.c (依赖方法) 注意:gcc前面的必须使用Tab键(语法要求)
直接make,生成可执行文件hello 如图:
学会了创建项目,也需要学习清理项目
.PHONY:clean
clean:
rm -f hello
.PHONY:clean 是将.PHONY:后面的标签变成伪目标,总是被执行
rm -f 前面必须使用Tab键(语法要求)
make clean 就可以将项目删除 如图:
写一个小的程序--进度条
#include<stdio.h>
#include<unistd.h>
int main()
{
int i=0;
char bar[102]={'\0'};
const char *lable="|-\\";
while(i<=100)
{
bar[i]='#';
printf("[%-100s][%d%%][%c]\r",bar,i,lable[i%4]);
fflush(stdout);
i++;
usleep(50000);
}
printf("\n");
return 0;
}