在做工程文件时,可将多个源程序一同编译,出一个可执行文件。
先看文件目录
ls
display.c main.c
#include<stdio.h>
void display(const char *str){
printf("The str is %s",str);
}
#include<stdio.h>
int main(void){
display("Hello Linux try update try secondly\n");
}
使用make 需要在文件夹中有makefile这个文件存在
那新建一个makefile
ls
display.c main.c makefile
//现在的文件目录
好 现在往makefile写配置信息
//最终目标 test
test: main.o display.o
gcc -o test main.o display.o
main.o: main.c
gcc -c main.c
display.o: display.c
gcc -c display.c
规则
[target]: [依赖文件] [依赖文件] … …
[先打一个tab作为命令行的开始][命令]
向这么写 就可以相当于是使用 gcc -c 直接编译
最好执行一下 make
make
gcc -c main.c
main.c: In function ‘main’:
main.c:3:2: warning: implicit declaration of function ‘display’ [-Wimplicit-function-declaration]
display("Hello Linux try update try secondly\n");
^
gcc -c display.c
gcc -o test main.o display.o
就出现了test文件 main.o display.o
display.c display.o main.c main.o makefile test
现在看看执行./test 会出现什么
./test
The str is Hello Linux try update try secondly
好的 完美成功执行
现在看看 如果我改动 main.c 会有什么样的情况发生
vim main.c
make
gcc -c main.c
main.c: In function ‘main’:
main.c:3:2: warning: implicit declaration of function ‘display’ [-Wimplicit-function-declaration]
display("Hello Linux try update try secondly try thirdly\n");
^
可以看到重新执行了gcc -c main.c
再看看结果
./test
The str is Hello Linux try update try secondly try thirdly
出现了如上结果