一、主线步骤为三步:
1、用vim编写程序源文件
2、用vim编写makefile命令文件
3、在终端里输入make命令
二、实例文件有:head.h、head.cc、main.cc
head.h //声明head.cc里的helloworld()函数
head.cc //定义helloworld()函数
main.cc //主函数
三、makefile写法
四、命令行执行make
makefile最简单的写法是:定义依赖关系+编译命令
留意例子里,每两行一组,前一行是定义依赖关系,后一行是编译命令。
main.o:main.cc head.h //定义依赖关系
g++ -c main.cc //编译命令
定义依赖关系的格式:【目标文件】: 【源文件1】 【源文件2】 ....
不懂?别急,先来听听makefile的原理:
makefile的原理是根据依赖关系,若某个源文件修改时间比生成的目标文件晚或者目标文件不存在时,则代表目标文件需要编译,就会执行依赖关系下面的编译命令。
例如:当我们修改了main.cc,而其他没变。那么运行make命令时,会根据定义的依赖关系,找到main.o:main.cc head.h (因为main.cc刚修改了),从而执行跟着的 g++ -c main.cc 命令,生成main.o。
这时因为main.o也刚修改了,所以会根据依赖关系:filename:head.o main.o 从而执行跟着的g++ -o filename main.o head。
结果是只更新了需要更新的文件。有趣吧~
如图: