Makefile中的变量赋值
= 是最基本的赋值
:= 是覆盖之前的值
?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值
=的赋值与:=的赋值区别
当一个变量使用=的赋值的时候,如果这个=的后面有变量,那么=后面的变量应该是全局的结果.
比如:
A = 3
B = $(A) 4
A = 1
最后的AB各是什么?
答案:A是1,B是14.
这就是B中的=的作用,它要看$(A)的最终结果,把最终结果赋值给B.
:=是覆盖.是按照顺序的覆盖的.
= 是最基本的赋值
:= 是覆盖之前的值
?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值
=的赋值与:=的赋值区别
当一个变量使用=的赋值的时候,如果这个=的后面有变量,那么=后面的变量应该是全局的结果.
比如:
A = 3
B = $(A) 4
A = 1
最后的AB各是什么?
答案:A是1,B是14.
这就是B中的=的作用,它要看$(A)的最终结果,把最终结果赋值给B.
:=是覆盖.是按照顺序的覆盖的.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步