Makefile 中的幾個賦值符號的簡單區別

前言

下邊這幾個符號的名字我自己起的

  1. “=” 最後一次賦值符:被賦值對象的值等於最後一次給它賦值的值,值可變;
#輸入:
objects = a.o
objects = b.o

#輸出:
objects = b.o
  1. “:=” 第一次賦值符:被賦值對象的值等於第一次給它賦值的值,值不可變;
#輸入:
objects := a.o
objects := b.o
#輸出
objects = a.o
  1. “?=” 判斷賦值符:賦值之前先判斷是否之前被賦過值,賦過就不再賦值了,否則則賦值;
#輸入情況一:
objects ?= a.o
objects ?= b.o
#輸出情況一:
objects = a.o
#輸入情況二:
#前面沒有對objects賦過值;
objects ?= b.o
#輸出情況二:
objects = b.o
  1. “+=” 追加賦值符:對被賦值對象追加值
#輸入:
objects = a.o b.o
objects += c.o
#輸出
objects = a.o b.o c.o
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章