make 当中各种赋值说明 = := ?= +=

Makefile变量赋值详解
本文详细解析了Makefile中不同变量赋值符号的作用及区别,重点对比了=与:=在变量赋值过程中的行为差异,并通过实例展示了这两种赋值方式如何影响变量的最终值。

Makefile当中有各种不同的赋值符号,

= 是最基本的赋值
:= 是覆盖之前的值
?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值


其中=和:=都是给变量赋值,他们之间的区别是什么呢?

代码在make的时候,是将整个Makefile展开之后再去决定变量的值,因此获取的变量的值会是它最终的赋值。但是使

用:=符号的号,或者的变量值就是它当时的变量值。举个例子说明:

x=kitty

y=hello $(x)

x=mickey

最终y的值是hello mickey;而如果是下面的情况

x:=kitty

y:=hello $(x)

x:=mickey

则y的最终值是hello kitty



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值