gcc 与 Makefile

Makefile的引入及规则

为什么要有Makefile

使用keil, mdk, avr等工具开发程序时点点鼠标就可以编译了,
它的内部机制是什么?它怎么组织管理程序?怎么决定编译哪一个文件?
这里使用 gcctest1.ctest2.c 进行编译 汇编 链接(预处理系统默认执行),得到可执行文件test

gcc  test1.c test2.c -o test

可以看到,此方法 简单,
但是会对所有文件都处理一次,
文件多时如果只修改其中一个文件会导致效率低,如果是几万个文件的非常庞大的工程,书写五分钟,编译俩小时

Makefile的核心规则 :

目标 : 依赖1 依赖2 …
[TAB]命令当"目标文件"不存在,

某个依赖文件比目标文件"新",
则: 执行"命令"
这里的 就是比较依赖文件和目标文件的生成时间。很显然,如果我们修改了一个文件,那么改文件相对于之前处理过的文件就会更新,这个时候就可以单单对这一个文件重新编译了,节省了大量时间,提高了效率,这就是Makefile的核心规则

编写Makefile

废话少说,直接开干
首先我们创建两个.c文件
分别命名为test1.c 和 test2.c

test1.c :

:

test2.c:

就定义一个变量就好了
在这里插入图片描述
然后编写Makefile如下

Makefile:

在这里插入图片描述

测试一下

在这里插入图片描述

在这里插入图片描述

以上内容参考了韦东山老师的文档,在此表示感谢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值