zoukankan      html  css  js  c++  java
  • makefile :=和+=

    经常有人分不清= 、:=和+=的区别  这里我总结下做下详细的分析:

    首先你得清楚makefile的运行环境,因为我是linux系统,那么我得运行环境是shell

    在Linux的shell里,shell只认识字符串,所以你就不要说整形什么的了。说值也不贴切。

    先看+=是什么意思?

    因为shell只认识字符串,所以这里应该不难联想到+=就是字符串连接的意思。相当于c语言的  strcat

    举个例子:

    x本来是  U;

          x += SB;

    那么运行结果就是  x为USB;

    接着理解:=和=

    这个是很常用的,比=用得多

    看下面的例子:

        x = sb;

        y = u$(x) 

        x = all

    运行结果x 是all    y是uall

    将=改成:=

        x := sb;

        y := u$(x) 

        x := all

    运行结果x是all  y是usb

    怎么样?有感觉了吧。这里=的话算$(x)的时候会一直搜索到文件最后,最后再赋值。

    而:=则不会搜索后面的x值。也就是前面的是有效的而引用变量之后的就是无效的。

    http://blog.sina.com.cn/s/blog_7880f9830102w80f.html

    http://www.cnblogs.com/wanqieddy/archive/2011/09/21/2184257.html

  • 相关阅读:
    常用dos命令
    反射
    干货|技术小白如何在45分钟内发行通证(TOKEN)并上线交易(附流程代码
    基于以太坊发布属于自己的数字货币(代币)完整版
    基于以太坊实现代币发布
    FTRL的理解
    FM-分解机模型详解
    深度学习总结
    DIN
    git上传新项目
  • 原文地址:https://www.cnblogs.com/tianzijiaozi/p/7747743.html
Copyright © 2011-2022 走看看