看了下關於makefile的視頻,自己試著編譯了一個
首先隨便建立一個main.c文件
#include<stdio.h>
void main()
{
printf("My name is guozhiyuan\n");
}
當然你可以用 gcc main.c -o main來編譯,既然要用makefile,所以建立makefile文件
hello:main.c
gcc main.c -o hello
保存 make即可
做完這步,我想可不可以一次編譯多個文件呢,我選擇三個文件進行實驗
首先建立三個.c 和三個.h文件
vim guo.c
#include<stdio.h>
#include"zhi.h"
#include"yuan.h"
void main()
{
printf("guo\n");
zhi();
yuan();
}
vim zhi.c
#include<stdio.h>
void zhi()
{
printf("zhi\n");
}
vim zhi.h
void zhi();
vim yuan.c
#include<stdio.h>
void yuan()
{
printf("yuan\n");
}
vim yuan.h
void yuan();
然後改makefile了
vim makefile
CC=gcc
OBJ=guo.o zhi.o yuan.o
hello:$(OBJ)
$(CC) -o hello $(OBJ)
guo.o:guo.c
$(CC) -c guo.c
zhi.o:zhi.c zhi.h
$(CC) -c zhi.c
yuan.o:yuan.c yuan.h
$(CC) -c yuan.c
至此保存 make就可以了
注意要有頭文件,以及子函數的調用。