• 第4课


    第4课 - 变量和不同的赋值方式

    1. makefile中的变量

      (1)makefile 中支持程序设计语言中变量的概念

      (2)makefile 中的变量只代表文本数据(字符串)

      (3)makefile 中的命名规则

         — 变量名可以包含字符 , 数字 , 下划线

         — 不能包含 ":" , "#" , "="  或 " "

         — 变量名大小写敏感

    2. 变量的定义和使用

        

     1 #演示变量的使用
     2 
     3 CC := gcc
     4 TARGET := hello.out
     5 
     6 $(TARGET) : main.o func.o
     7     $(CC) -o $(TARGET) main.o func.o
     8 
     9 main.o : main.c
    10     $(CC) -o  main.o -c main.c
    11 
    12 func.o : func.c
    13     $(CC) -o func.o -c func.c
    14     
    15 .PHONY : rebuild all clean
    16 
    17 rebuild : clean all
    18 
    19 all : $(TARGET)
    20 
    21 clean : 
    22     rm *o $(TARGET)

    3. makefile中变量的赋值方式

      (1)简单赋值(:=)

        — 程序设计语言中的通用的赋值方式

        — 只针对当前语句的变量有效

      

      (2)递归赋值(=)

        — 赋值操作可能影响多个其它变量

        — 所有与目标变量相关的其它变量都将受到影响

        — 脚本语言也是顺序一句一句执行的,递归赋值会改变与目标变量相关的其它变量

        — 只会影响那些同样是递归赋值的变量

      

      (3)条件赋值(?=)

        — 如果变量未定义,使用赋值符号中的只定义变量

        — 如果变量已经定义,赋值无效

      

      (4)追加赋值(+=)

        — 原变量值之后加上一个新值

        — 原变量与新值之间由空格隔开

      

     1 #演示4种变量的定义方式
     2 
     3 # ex1
     4 # x := foo
     5 # y := $(x)b
     6 # x := new
     7 
     8 # ex2
     9 # x = foo
    10 # y = $(x)b        //这里必须也是 = 不能是 := 否则不会影响
    11 # x = new
    12 
    13 # a = $(b)
    14 # b = $(c)
    15 # c = hello-makefile
    16 
    17 # ex3
    18 # x := foo
    19 # y := $(x)b
    20 # x ?= new
    21 
    22 # ex4
    23 # x := foo
    24 # y := $(x)b
    25 # x += new
    26 
    27 .PHONY : test
    28 
    29 test :
    30     @echo "x => $(x)"
    31     @echo "y => $(y)"
    32     @echo "a => $(a)"
    33     @echo "b => $(b)"
    34     @echo "c => $(c)"

    注:本文整理于《狄泰12月提升计划》课程内容

    狄泰QQ群:199546072

  • 相关阅读:
    sql查询
    PHP常用的设计模式
    PHP内存管理和垃圾回收机制
    记一次面试
    获取py文件函数名及动态调用
    正确解决 mysql 导出文件 分隔符 问题
    解决ValueError: cannot convert float NaN to integer
    Python ---接口返回值中文编码问题
    pandas python 读取大文件
    【neo4J】后台关闭后,前端还能打开视图
  • 原文地址:https://www.cnblogs.com/shiwenjie/p/6774437.html
Copyright © 2020-2023  润新知