之前學過一些makefile,但是長時間不看,裡面的符號又不少,慢慢就忘記了,這次在看makefile檔案,就順帶整理一些常用的符號,以後查詢起來也方便。
**$@**表示目標
**$^**表示所有的依賴
**$<**表示第乙個依賴
:=即時賦值
?=延時賦值
+=附加
例如:
cc = gcc #延時變數賦值,當用到cc的時候再給它賦gcc值
cur = -o0 -g -wall
main: main.c test.c
可表示為:$(cc) $(cur) -o $@ $^
即:gcc -o0 -g -wall main main.c test.c
%.o : %.c
gcc -c -o $@ $<
#只有乙個依賴
a:=abc#即時定義變數,在定義時就確定了a=abc
b=abcd
b?=1234#因為在上一行已經定義過b的值了,所以可以忽略此處b的定義,即b=abcd;如果上邊沒有定義b的值,此處是第一次定義b的話,則b=1234
Makefile中wildcard等關鍵字的使用
在makefile規則中,萬用字元會被自動展開。但在變數的定義和函式引用時,萬用字元將失效。這種情況下如果需要萬用字元有效,就需要使用函式 wildcard 它的用法是 wildcard pattern 在makefile中,它被展開為已經存在的 使用空格分開的 匹配此模式的所有檔案列表。如果不存在...
Makefile中override 指示符
通常在執行make時,如果通過命令列定義了乙個變數,那麼它將替代在makefile中出現的同名變數的定義。就是說,對於乙個在makefile中使用常規方式 使用 或者 define 定義的變數,我們可以在執行make時通過命令列方式重新指定這個變數的值,命令列指定的值將替代出現在makefile中此...
C 中int,string等常見型別的轉換
初學c 總結下在實踐中對於幾種常見內建型別轉換的理解吧。1 int型與string型的互相轉換 最佳實踐 int型轉string型 cpp view plain copy void int2str const int int temp,string string temp string型轉int型 ...