日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Makefile的补充学习

發布時間:2025/7/25 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Makefile的补充学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ?通配符%和Makefile自動推導(規則)
(1)%是Makefile中的通配符,代表一個或幾個字母。也就是說%.o就代表所有以.o為結尾的文件。
(2)所謂自動推導其實就是Makefile的規則。當Makefile需要某一個目標時,他會把這個目標去套規則說明,一旦套上了某個規則說明,則Makefile會試圖尋找這個規則中的依賴,如果能找到則會執行這個規則用依賴生成目標。

?

Makfile中引用其他Makefile(include指令)
(1)有時候Makefile總體比較復雜,因此分成好幾個Makefile來寫。然后在主Makefile中引用其他的,用include指令來引用。引用的效果也是原地展開,和C語言中的頭文件包含非常相似。

?

命令前面的@用來靜默執行
(1)在makefile的命令行中前面的@表示靜默執行。
(2)Makefile中默認情況下在執行一行命令前會先把這行命令給打印出來,然后再執行這行命令。
(3)如果你不想看到命令本身,只想看到命令執行就靜默執行即可。

?

Makefile中幾種變量賦值運算符

(1)= 最簡單的賦值。但是用的時候非常注意,如果變量后面還有從新賦值,那么解析的時候是最后一次賦值為準。


(2):= 一般也是賦值
以上這兩個大部分情況下效果是一樣的,但是有時候不一樣。
用=賦值的變量,在被解析時他的值取決于最后一次賦值時的值,所以你看變量引用的值時不能只往前面看,還要往后面看。
用:=來賦值的,則是就地直接解析,只用往前看即可。

(3)?= 如果變量前面并沒有賦值過則執行這條賦值,如果前面已經賦值過了則本行被忽略。(實驗可以看出:所謂的沒有賦值過其實就是這個變量沒有被定義過,例 var=" ", var= ,都)
(4)+= 用來給一個已經賦值的變量接續賦值,意思就是把這次的值加到原來的值的后面,有點類似于strcat。(在shell makefile等文件中,可以認為所有變量都是字符串,+=就相當于給字符串stcat接續內容)(注意一個細節,+=續接的內容和原來的內容之間會自動加一個空格隔開

轉載于:https://www.cnblogs.com/yygsj/p/5204368.html

總結

以上是生活随笔為你收集整理的Makefile的补充学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。