在实际的开发过程中,仅仅通过使用gcc命令对程序进行编译效率很低。一个大的程序往往由多个源文件组成,源文件的个数越多,那么gcc的命令行就会越长。此外,各种编译规则也会加大gcc命令行的复杂度,所以在开发调试程序的过程中,通过输入gcc命令行编译程序是很麻烦的。在程序的整个开发过程中,调试的工作量很大,每次调试一般只会修改部分源文件。而在使用gcc命令行编译程序时,gcc会把那些没有被修改的源文件一起编译,这样会影响总体效率。
GCC提供了半自动化的工程管理器Make,所谓半自动化就是指使用工程管理器前需要人工编写程序的编译规则,所有的编译规则都保存在Makefile文件中,全自动化扥工程管理器在编译程序前自动生成Makefile文件。
Make 工程管理的优越性具体体现在以下两个方面。
(1)使用方便
(2)调试效率高
Makefile
Make工程管理器是完全根据Makefile文件中编译规则命令进行工作。Makefile文件由以下三项基本内容组成。
需要生成的目标文件(target file).
生成目标文件所需要的依赖文件(dependency file)
生成目标文件的编译规则命令行(command)
Makefile规定在书写command命令行前加一个<Tab>键。
Make 工程管理器在编译程序时会检查每个依赖文件的时间戳,一旦发现某个依赖文件的时间戳比目标文件要新,就会执行目标文件的规则检查生成目标文件。这个过程称为目标文件的依赖规则检查。依赖规则检查时Make工程管理器的最核心的工作任务之一。
先写这些!