首页 > 学院 > 开发设计 > 正文

Makefile 中:= ?= += =的区别

2019-11-06 08:21:21
字体:
来源:转载
供稿:网友

新建一个Makefile,内容为:

ifdef DEFINE_VAR VAR = “Hello World!”elseendififeq ($(OPT),define) VAR ?= “Hello World! First!”endififeq ($(OPT),add) VAR += “John!”endififeq ($(OPT),recover) VAR := “Hello World! Again!”endifall: @echo $(VAR)

敲入以下make命令:

#make  DEFINE_VAR=true  OPT=define  #Hello World! #make  DEFINE_VAR=true  OPT=add   #Hello World! John! #make  DEFINE_VAR=true   OPT=recover   #Hello World! Again! #make  DEFINE_VAR=  OPT=define   #Hello World! First! #make  DEFINE_VAR=  OPT=add   #John! #make  DEFINE_VAR=  OPT=recover   #Hello World! Again!

综上可知:

= 是最基本的赋值 := 是覆盖之前的值 ?= 是如果没有被赋值过就赋予等号后面的值,否则不赋值 += 是添加等号后面的值
上一篇:leetcode485

下一篇:pthread_create

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表