【Linux基础】为什么要学Makefile

到此为止,读者已经了解了如何在Linux 下使用编辑器编写代码,如何使用Gcc把代码编译成可执行文件,还学习了如何使用Gdb 来调试程序,那么,所有的工作看似已经完成了,为什么还需要Make这个工程管理器呢?
所谓工程管理器,顾名思义,是指管理较多的文件的。读者可以试想一下,有一个上百个代码文件构成的项目,如果其中只有一个或少数几个文件进行了修改的话,按照之前所学的Gcc 编译工具,就不得不把这所有的文件重新编译一遍,因为编译器并不知道哪些文件是最近更新的,而只知道需要包含这些文件才能把源代码编译成可执行文件,于是,程序员就不能不再重新输入数目如此庞大的文件名以完成最后的编译工作。
但是,请读者仔细回想一下本书所阐述的编译过程,编译过程是分为编译、汇编、链接不同阶段的,其中编译阶段仅检查语法错误以及函数与变量的声明是否正确声明了,在链接阶段则主要完成是函数链接和全局变量的链接。因此,那些没有改动的源代码根本不需要重新编译,而只要把它们重新链接进去就可以了。所以,人们就希望有一个工程管理器能够自动识别更新了的文件代码,同时又不需要重复输入冗长的命令行,这样,Make工程管理器也就应运而生了。
实际上,Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能够根据文件的时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件的内容来执行大量的编译工作。用户只需要编写一次简单的编译语句就可以了。它大大提高了实际项目的工作效率,而且几乎所有Linux 下的项目编程均会涉及它,希望读者能够认真学习本节内容。

本文转载于唯C教育,【Linux基础】为什么要学Makefile
http://www.weicedu.com/forum.php?mod=viewthread&tid=61&fromuid=4
(出处: http://www.weicedu.com/)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值