Makefile

Makefile在Linux中用于自动化编译,通过定义目标、依赖和命令简化大量代码的编译过程。其优势在于有效维护大型项目的编译顺序,减少不必要的重复编译。Makefile包含$@、$^和$<等推导符号,并提供了wildcard、notdir和patsubst等函数。此外,还介绍了gcc常用编译命令和如何处理多级目录下的Makefile。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:Makefile作用:

Linux中使用gcc等编译命令是需要一个个去手动编译而使用Makefile可以实现自动编译不用一个个去编译,实现软件中的一键编译, 在使用的时候只需要使用make 就可以一键编译, 如果其中还定义其他的方法在make后面加上要实现的方法就行。

二:Makefile组成:

makefile组成三要素:目标,依赖, 命令

  targets(目标):prequisities(依赖)
         command(命令,command前面要有一个tab键)

依赖(原材料) -> 命令(像 gcc等函数) -> 目标(可执行文件 像 main)

Makefile优势:

1.大量代码的关系维护

大项目中源代码较多,手工维护 编译时间长而且编译命令复杂,把代码维护命令及编译命令写在 makefile 文件中,然后再用make 工具解析此文件自动执行相应命令 可实现合理编译

2.减少重复编译时间

在改动其中一个文件时,能判断哪些文件被修改过,可以只对该文件进行重新编译,然后重新链接所有的目标文件,节省编译时间

三. Makefile推导

     $@  : 目标文件  (main)
     $^   : 所有依赖文件 
     $<   : 第一个依赖文件
Makefile中的代码:

//经典Makefi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值