zoukankan      html  css  js  c++  java
  • 第4课

    1. makefile中的变量

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

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

    (3)makefile 中的命名规则

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

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

    — 变量名大小写敏感

    2. 变量定义和使用

          

    编程实验:

    #演示变量的使用
    
    CC := g++
    TARGET := hello-world.out
    
    $(TARGET) : func.o main.o
        $(CC) -o $(TARGET) func.o main.o
    
    func.o : func.c
        $(CC) -o func.o -c func.c
    
    main.o : main.c
        $(CC) -o main.o -c main.c
    
    .PHONY : rebuild clean all
    
    rebuild : clean all
    
    all : $(TARGET)
    
    clean :
        rm *.o $(TARGET)
    
        

    运行结果:

      

    3. makefile中变量的赋值方式

    (1)简单赋值(:=)

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

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

      

    (2)递归赋值(=)

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

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

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

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

      

    (3)条件赋值(?=)

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

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

      

    (4)追加赋值(+=)

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

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

      

     编程实验:

    #演示4种变量的定义方式
    
    # ex1
    # x := foo
    # y := $(x)b
    # x := new
    
    # ex2
    # x = foo
    # y = $(x)b
    # x = new
    
    # a = $(b)
    # b = $(c)
    # c = hello-makefile
    
    # ex3
    # x := foo
    # y := $(x)b
    # x ?= new
    
    # ex4
    # x := foo
    # y := $(x)b
    # x += new
    
    .PHONY : test
    
    test :
        @echo "x => $(x)"
        @echo "y => $(y)"
        @echo "a => $(a)"
        @echo "b => $(b)"
        @echo "c => $(c)"

     ex1:

    ex2:

     

    ex3:

     

    ex4:

    3. 小结

    (1)makefile 中支持变量的定义和使用

    (2)makefile 中存在四种变量的赋值方式

      • 简单赋值(:=)

      • 递归赋值(=)

      • 条件赋值(?=)

      • 追加赋值(+=)

  • 相关阅读:
    Visual Studio 2010使用Visual Assist X的方法
    SQL Server 2000 评估版 升级到 SQL Server 2000 零售版
    双网卡多网络单主机同时访问
    开发即过程!立此纪念一个IT新名词的诞生
    delphi dxBarManager1 目录遍历 转为RzCheckTree2树
    5320 软件集合
    delphi tree 从一个表复制到另一个表
    DELPHI 排课系统课表
    长沙金思维 出现在GOOGLE的 金思维 相关搜索里啦!!
    如何在DBGrid的每一行前加一个单选框?
  • 原文地址:https://www.cnblogs.com/hoiday/p/9265686.html
Copyright © 2011-2022 走看看