我在編譯LLVM和clang。我注意到編譯的輸出有llvm[1]:
或llvm[2]:
或llvm[3]
:每行都有前綴。括號中的整數是什麼意思?編譯llvm時llvm [n]的含義,其中n是整數
0
A
回答
0
這是編譯作業的編號(make -j
)。跟蹤編譯錯誤很有幫助。
1
顯然,它沒有連接到編譯作業的編號(可以通過make -j 1輕鬆檢查)。基於autoconf的構建系統指示源樹中makefile的「級別」)。要成爲價格,這是make的MAKELEVEL變量的價值。
1
目前接受的答案不正確。而且,這實際上是一個GNU Make問題,而不是LLVM問題。
,你看到的是MAKELEVEL
變量通過make
回顯到命令行的當前值。該值設置爲遞歸執行結果。從GNU make manual:
作爲一個特殊的功能,當它從一級級向下傳遞變量MAKELEVEL改變。這個變量的值是一個字符串,它是作爲十進制數字級別的深度。頂級品牌的價值爲'0'; '1'表示一個子製作,'2'表示一個子製作,等等。當make爲配方設置環境時會發生增量。
如果你手頭上的GNU製作源代碼的副本,你可以看到在output.c
產生與void message(...)
功能的輸出消息。在GNU make v4.2中,這發生在626行上。具體地說,program
參數被設置爲字符串「llvm」並且makelevel參數被設置爲如上所述。
由於它被錯誤地調出,它不是編譯作業的編號。 -j [jobs]
或--jobs[=jobs]
選項啓用並行執行高達jobs
配方數量同時。如果選擇-j
或--jobs
,但jobs
未設置,則GNU Make嘗試儘可能多地同時執行配方。有關更多信息,請參見this section of the GNU Make manual。
無需並行執行即可遞歸執行,並且無需遞歸執行即可並行執行。這是目前接受的答案不正確的主要原因。
相關問題
- 1. LLVM編譯器2.0錯誤?
- 2. 編譯鐺,LLVM的例子
- 3. 確定LLVM與GCC編譯時
- 4. LLVM編譯JIT二進制
- 5. LLVM編譯優化bug還是什麼?
- 6. 編譯LLVM時缺少選項
- 7. 從llvm-clang到llvm-gcc42(命令行)的默認編譯器
- 8. XCode編譯器蘋果LLVM 3.1 vs LLVM GCC 4.2
- 9. 返回列表[1,n,n^2,n^3,...,n^k]的函數powers(n,k),其中k是整數
- 10. LLVM的整數類型
- 11. 什麼是線的含義N = N和INT(n)的在python
- 12. LLVM翻譯單元
- 13. 力cmake的編譯與opencv LLVM
- 14. 基於LLVM的編譯器的語言
- 15. LLVM 5.0編譯器是否等同於GCC編譯器?
- 16. 將CUDA或OpenCL編譯爲llvm IR
- 17. LLVM任意精度整數
- 18. 前端到基於LLVM的編譯器
- 19. 使用llvm編譯器的提示
- 20. Ubuntu的16.04LTS編譯混淆,LLVM
- 21. LLVM爲什麼不用LLVM在pch文件中編譯typedeffed C塊?
- 22. 如何用llvm和g ++編譯?
- 23. LLVM中編譯器和編譯器驅動程序的區別?
- 24. 在LLVM 2.8中調用LLVM bitcode函數
- 25. LLVM優化級別的含義
- 26. 如何編譯CUDA到llvm IR?
- 27. 在LLVM
- 28. 將LLVM加載到LLVM中
- 29. 蘋果LLVM編譯器錯誤4.1
- 30. 如何編譯包含LLVM API頭文件的C++程序?
愚蠢的問題。什麼是編譯工作? – flashburn
'make -j'允許您一次編譯多個源文件(或項目):https://www.gnu.org/software/make/manual/html_node/Parallel.html。 –
Thomas