makefile介绍及编译执行

概述

makefile这个编译在c++中很常见,看下操作系统,都是基于makefile编译的。来简单看下,
操作系统
这个就不看了,每一个模块下都有一个对应的makefile。可见makefile之重要。

简单Makefile

Makefile1
执行下,看看运行结果。如下:
Makefile1 all
这个执行的是all。

修改下test和all的位置,如下:
Makefile1
执行,再来看看,结果,如下:
makefile1
再修改下,如下:
makefile2
执行,看看结果,如下图:
makefile

makefile三要素

对于makefile来说,有重要的依赖三要素,依赖,命令,目标。如下图:
makefile三要素

makefile:工作原理

工作原理
编译,去生成目标,检查依赖条件,
更新编译

更新目标,检查,更新,检查,依赖,然后比目标文件新,更新目标文件,更新目标。

编译程序

makefile
想知道执行流程,先加几个打印,然后看看,如下图:
在这里插入图片描述
make执行,如下图:
make执行流程
可以看到还有个clean;来看下执行会有什么效果,如下图:
make执行结果
执行make clean
make clean执行后,清理了生成的文件。又回到了最初的状况。再来看看一种情况,直接执行一次make,如下图:
make执行2次
可以看到第二次没有执行生成.o的文件,因为他们已经生成了,那如果修改了foo.c,来看下:
foo.c
make
执行make,然后可以看到
make
图中圈起来的地方执行了。也就是只执行了增量更新。

小结

本篇主要写了makefile编译系统,写了简单的makefile,还有一些makefile的原理,三要素,再加上一些案例,其实还是蛮丰富的。有兴趣,可以看看,也可以学习学习。OK,结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值