1.2 KiB
1.2 KiB
为什么学Makefile
大家第一次写hello world程序的时候一定都记得,在编辑完helloworld.c
之后,需要用gcc
编译生成可执行文件,然后再执行(如果你不理解前面这段话,请先自行谷歌gcc 编译
并理解相关内容)。但如果你的项目由成百上千个C源文件组成,并且星罗棋布在各个子目录下,你该如何将它们编译链接到一起呢?假如你的项目编译一次需要半个小时(大型项目相当常见),而你只修改了一个分号,是不是还需要再等半个小时呢?
这时候Makefile就闪亮登场了,它能让你在一个脚本里(即所谓的Makefile)定义整个编译流程以及各个目标文件与源文件之间的依赖关系,并且只重新编译你的修改会影响到的部分,从而降低编译的时间。
如何学习Makefile
这里有一篇写得深入浅出的文档供大家参考。
Makefile掌握起来相对容易,但用好它需要不断的练习。将它融入到自己的日常开发中,勤于学习和模仿其他优秀开源项目里的Makefile的写法,总结出适合自己的template,久而久之,你对Makefile的使用会愈加纯熟。