最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
长乐市| 宜春市| 苍山县| 淮安市| 宁都县| 新宾| 青神县| 政和县| 泰安市| 西吉县| 绥棱县| 大足县| 于田县| 和林格尔县| 海阳市| 开远市| 昌黎县| 罗甸县| 准格尔旗| 西乡县| 塔河县| 和平县| 前郭尔| 崇州市| 黑山县| 凌云县| 定边县| 江华| 天等县| 新丰县| 泰顺县| 奈曼旗| 永德县| 泾川县| 岗巴县| 都江堰市| 成都市| 泰来县| 渑池县| 平和县| 灵山县|