国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

雜說1 —— make、Makefile

2023-04-13 14:29 作者:FineClassFuture  | 我要投稿

????對于小項目來說,使用make(借個詞“自動化”)足夠了

????只要用到最基本的規(guī)則就夠了,配合一點通配和內置函數(shù)使使用更靈活

make -j 問題

????make -jN 可以多線程編譯,比其它系統(tǒng)慢就慢吧,小項目也就十幾秒幾十秒的時間,又何必在意。

????上面的寫法,使用make -jN會有個提示

make[1]: warning: jobserver unavailable: using -j1.? Add '+' to parent make rule.

????搜索到https://qa.1r1g.com/sf/ask/4249190851/,底下的回答說明了

(看著應該是機翻)

GNU make 手冊對這個錯誤有很好的解釋。關鍵是:'make' 不會將有關 jobserver 的信息傳遞給被調用的進程,除非確定被調用的進程也是 'make'。

'警告:作業(yè)服務器不可用:使用 -j1。將“+”添加到父生成規(guī)則。

為了使進程進行通信,父進程將信息傳遞給子進程。因為如果子進程實際上不是一個 make,這可能會導致問題,所以父進程只有在它認為子進程是一個 make 時才會這樣做。父級使用普通算法來確定這一點(請參閱MAKE 變量的工作原理)。如果 makefile 的構造使得父進程不知道子進程是一個 make 進程,那么子進程將只收到部分必要的信息。在這種情況下,子進程將生成此警告消息并按順序進行構建。

錯誤描述中引用的 MAKE 變量如何工作部分指定了兩種告訴 'make' 調用的進程是 'make' 的另一個實例的方法:使用$(MAKE)+。它指出:

  1. $(MAKE)在配方中調用“make”時應該使用變量。

    遞歸 make 命令應始終使用變量 MAKE,而不是顯式命令名稱“make”,如下所示:

    subsystem: ? ? ? ?cd subdir && $(MAKE)
  2. 在配方中調用“make”的行之前使用$(MAKE)和放置 a+具有相同的效果。

    使用 MAKE 變量與在配方行的開頭使用“+”字符具有相同的效果。

  3. 只有當您明確輸入MAKE配方時,魔法才會發(fā)生。如果不是這種情況,請使用+.

    僅當 MAKE 變量直接出現(xiàn)在配方中時才啟用此特殊功能:如果 MAKE 變量是通過擴展另一個變量引用的,則它不適用。在后一種情況下,您必須使用“+”標記來獲得這些特殊效果。

所以要改一改自己的習慣了,編寫時使用$(MAKE)替代make



雜說1 —— make、Makefile的評論 (共 條)

分享到微博請遵守國家法律
南丰县| 凌源市| 双江| 揭阳市| 金阳县| 长阳| 稻城县| 焦作市| 苏州市| 隆尧县| 文山县| 三门峡市| 沛县| 婺源县| 磴口县| 遵义市| 银川市| 竹山县| 迁安市| 东乡族自治县| 和硕县| 固阳县| 信丰县| 桐庐县| 芷江| 龙胜| 华坪县| 凤山市| 青铜峡市| 鱼台县| 光山县| 望奎县| 大兴区| 江永县| 九江市| 巴中市| 金沙县| 祁东县| 南召县| 平遥县| 布拖县|