首页 > 其他 > 详细

4.变量和不同的赋值方式

时间:2020-04-07 10:43:10      阅读:55      评论:0      收藏:0      [点我收藏+]
第一讲:
1)makefile中支持程序设计语言中变量的概念
2)makefile中的变量只代表文本数据(字符串)         就是只有字符串类型
3)makefile中的变量名规则
 变量名可以包含字符,数字,下划线
 不能包含":","#","="或""
 变量名大小写敏感
变量的定义和使用
 cc:=gcc
 TARGET:=hello.out
 
 $(TARGET):func.o main.o
  $(cc) -o $(TARGET) func.o main.o
 
第二讲:
makefile中变量的赋值方式
 简单赋值(:=)
 递归赋值(=)
 条件赋值(?=)
 追加赋值(+=)

简单赋值(:=)
 程序设计语言中的通用的赋值方式
 只针对当前语句的变量有效
 x:=foo
 y:=$(x)b
 x:=new
 .PHONY:test
 test:
  @echo"x=>$(x)"
  @echo"y=>$(y)"
输出:x=>new,y=>foob

递归赋值(=)
 赋值操作可能影响多个其它变量
 所有与目标变量相关的其它变量都将受到影响
 x:=foo
 y:=$(x)b
 x:=new
 .PHONY:test
 test:
  @echo"x=>$(x)"
  @echo"y=>$(y)"
输出:x=>new,y=>newb
 
条件赋值(?=)
 如果变量未定义,使用赋值符号中的值定义变量
 如果变量已经定义,赋值无效
 x:=foo
 y:=$(x)b
 x?=new
 .PHONY:test
 test:
  @echo"x=>$(x)"
  @echo"y=>$(y)"
输出:x=>foo,y=>foob
 
追加赋值(+=)
 原变量值之后加上一个新值
 原变量值与新值之间由空格隔开
 x:=foo
 y:=$(x)b
 x+=$(y)
 .PHONY:test
 test:
  @echo"x=>$(x)"
  @echo"y=>$(y)"
输出:x=>foo foob,y=>foob
 
第三讲:
实验验证

4.变量和不同的赋值方式

原文:https://www.cnblogs.com/ou-yang/p/12651818.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!