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

  • 相关阅读:
    Portable Executable 可移植可执行
    汇编跳转指令
    Java中this和super
    Java成员变量和类变量
    EasyUI select
    JAVA虚函数
    感想
    函数
    ueditor
    gitlab简介配置和参数修改
  • 原文地址:https://www.cnblogs.com/tianzijiaozi/p/7747743.html
Copyright © 2011-2022 走看看