zoukankan      html  css  js  c++  java
  • 第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

  • 相关阅读:
    第13周学习进度情况
    【Android进阶】获取Android软件的版本信息
    【Android进阶】Android程序与JavaScript之间的简单调用
    字符串长度
    约瑟夫问题
    输入n个数和输出调整后的n个数
    输入三个整数,按由小到大的顺序输出
    学校oj平台上不去
    输入10个整数
    输入三个字符串,按由小到大的顺序输出
  • 原文地址:https://www.cnblogs.com/shiwenjie/p/6774437.html
Copyright © 2011-2022 走看看