首页 > 分享 > makefile :=和+=

makefile :=和+=

经常有人分不清= 、:=和+=的区别  这里我总结下做下详细的分析:

首先你得清楚makefile的运行环境,因为我是linux系统,那么我得运行环境是shell

在Linux的shell里,shell只认识字符串,所以你就不要说整形什么的了。说值也不贴切。

先看+=是什么意思?

因为shell只认识字符串,所以这里应该不难联想到+=就是字符串连接的意思。相当于c语言的  strcat

举个例子:

x本来是  U;

      x += SB;

那么运行结果就是  x为USB;

接着理解:=和=

这个是很常用的,比=用得多

看下面的例子:

    x = sb;

    y = u$(x) 

    x = all

运行结果x 是all    y是uall

将=改成:=

    x := sb;

    y := u$(x) 

    x := all

运行结果x是all  y是usb

怎么样?有感觉了吧。这里=的话算$(x)的时候会一直搜索到文件最后,最后再赋值。

而:=则不会搜索后面的x值。也就是前面的是有效的而引用变量之后的就是无效的。

http://blog.sina.com.cn/s/blog_7880f9830102w80f.html

http://www.cnblogs.com/wanqieddy/archive/2011/09/21/2184257.html

转载于:https://www.cnblogs.com/tianzijiaozi/p/7747743.html

相关知识

升级 gcc g++ 版本 支持
uboot顶层makefile部分解析
宠物和动物有什么区别和相同点?
‎猫和宠物语言和声音翻译器
怎么和仓鼠沟通(如何和仓鼠培养感情)
宠物狗腿部和脚美容方法和要点
驴子和宠物狗。马和鹿。鸟兽和蝙蝠的故事。农夫的宝藏
利用社交媒体提高工作效率和社交能力:实用技巧和建议
食物和情绪:饮食和营养如何影响心理健康?
荷兰鼠和天竺鼠,天竺鼠和荷兰猪有什么区别

网址: makefile :=和+= https://m.mcbbbk.com/newsview205840.html

所属分类:萌宠日常
上一篇: 气垫一盒多用=粉底液+遮瑕膏+定
下一篇: 想教我的狗狗一些技能,怎么学习宠