1、初步认识makefile

本文介绍了Makefile的基本概念,包括其作用、结构和原理。Makefile用于自动化编译过程,根据源文件依赖关系自动维护编译,提高效率。文章通过实例展示了如何编写和使用Makefile,包括文件包含和编译步骤的自动化。
摘要由CSDN通过智能技术生成

此文编写主要参考韦东山老师教程和《跟我一起写makefile》

一、什么是make?

–make是一个应用程序

–解析源程序之间的的依赖关系

–根据依赖关系自动维护编译工作

–执行宿主操作系统的各种命令

二、什么是makefile?

–makefile 是一种描述文件

–定义一系列的规则来指定源文件编译的先后顺序

–拥有特定的语法规则,支持函数定义和函数调用

–能够直接集成操作系统中的各种命令

三、为什么需要makefile?

(1)对于gcc -o test a.c b.c这条命令虽然简单,但是它完成的功能不简单。 我们来看看它做了哪些事情。

我们知道.c程序 --> 得到可执行程序,它们之间要经过四个步骤:

预处理(preprocessing)=> .i arm-linux-cpp

编译(compilation)==> .s cc1

汇编(assembly)==> .o arm-linux-as

连接(linking)==> OBJ (linux上表现为ELF) arm-linux-ld

我们经常把前三个步骤统称为编译了。我们具体分析gcc -o test a.c b.c这条命令它们要经过下面几个步骤:

对于a.c执行:预处理 编译 汇编 的过程,a.c -->xxx.s -->xxx.o 文件。

对于b.c执行:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值