正如標題所示,我怎樣才能防止製造中的競爭狀況?如何防止製造中的競爭狀況?
我的具體使用情況是,我想clean
和然後建立all
目標:
make -j 4 clean all
我應該放棄,並滿足於make clean && make -j 4 all
?
正如標題所示,我怎樣才能防止製造中的競爭狀況?如何防止製造中的競爭狀況?
我的具體使用情況是,我想clean
和然後建立all
目標:
make -j 4 clean all
我應該放棄,並滿足於make clean && make -j 4 all
?
你不能真正並行執行一個構建目標的配方和另一個銷燬它的配方。
你有什麼用例記住,不會滿足於:
make clean && make -j4
?
我認爲這個問題在實際應用中聽起來很棒,但'make clean && make -j4'比'make -j4 clean all'長4個字符。你的問題的答案是,我發現這個解決方案是完全可以接受的,但是如果有另外一種方法可以實現,我想知道。一個不同的用例可能很重要,如果我必須傳遞冗長的參數給make命令的話。在這種情況下,將命令大小減半會吸引我。 – vmrob
與我剛剛說的相關的另一個原因是當我需要從不同的目錄構建時。我經常使用'make -C some/path/to/dir'。 – vmrob
@vmrob我明白了。另一方面,你的構建是一個按鍵過程是非常重要的。在DE中,您可以指定一次構建命令並使用一個鍵多次構建它。在shell中,您可以使用命令歷史來重複以前的任何命令。儘管如此,如果讓GNU能夠說某個目標不能與其他目標並行建立,那將是非常好的。 –
這是重複http://stackoverflow.com/questions/2121620/parallel-building-with-gnumake-and-prerequisites? –