今天有学长讲了关于虚拟机中make的高级用法,故整理一篇博客进行梳理。
一、建立一个放置头文件的库函数——address.h以备调用(项目运行时可将全部头文件放入其中)
vim address.h //建立头文件库函数
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//放置一些常用的C语言头文件
void func(); //
二、建立一个函数功能函数子函数——address.c
vim address.c
#include"address.h"//调用头文件库函数
void func()
{
printf("hi hello world\n");
}
三、建立主函数main.c
vim main.c
#include"address.h"//同名文件夹,故使用双引号,直接调用
int main()
{
printf("hello\n");
func(); //调用函数
return 0;
}
四、建立函数makefile进行编译处理
vim makefile //终端上输入,建立makefile文件,将所有的编译命令放入,必须用vim编译器
address:main.o address.o //address为最终执行的文件名,冒号后是生成可执行文件的所有.o文件
gcc main.o address.o -o address
main.o:
gcc -c main.c -o main.o
address.o:address.c address.h
gcc -c -o address.o address.c
//由——下而上看——上面3-8行代码
clean:
rm -rf *.o //rm为删除,-rf为强制删除,*代表所有,此命令为强制删除所有.o文件
address.c为实现功能函数,address.h为头文件的库函数,main.c为主函数,makefile为放置所有编译命令的函数
五、完成上述建立后,在终端中执行下列操作
[root@localhost 01]# make clean //清空所有.o文件
rm -rf *.o
[root@localhost 01]# ls //查看所有文件
address address.c address.h func.c main.c makefile //可见文件夹中没有.o文件
[root@localhost 01]# make //输入make进行编译
gcc -c main.c -o main.o
gcc -c -o address.o address.c
gcc main.o address.o -o address //成功编译出.o可执行文件
[root@localhost 01]# ls
address address.c address.h address.o func.c main.c main.o makefile //查看,编译成功
[root@localhost 01]# ./address //直接./address,(./加上要编译文件的名字)
hello
hi hello world //运行成功
总结:在以后的学习中多加运用,尽快熟练掌握。