我正在學習更多關於編譯器的知識。在試圖理解this Wikipedia article on LLVM時,我碰到了術語「鏈接」。我以前見過這個詞,但沒有真正理解它。 在編譯器的環境下,鏈接是什麼意思?鏈接在編譯器環境中意味着什麼?
2
A
回答
2
鏈接是將所有編譯對象相互連接以形成最終可執行文件的過程。當你在一段代碼中調用函數時,鏈接器的工作是將調用該函數的代碼掛接到實現該函數的代碼。
1
來源:here
「鏈接是指創建從多個目標文件的單個可執行文件在此步驟中,它是常見的接頭會抱怨未定義功能(通常,主本身)。在編譯過程中,如果編譯器找不到某個特定函數的定義,它只會假定該函數是在另一個文件中定義的,如果不是這種情況,編譯器就無法知道 - 它不會一次查看多個文件的內容,另一方面,鏈接器可能會查看多個文件,並嘗試找到未提及的函數的引用。「
換言之:鏈接將所有編譯的庫/二進制文件連接在一起,這些編譯的庫/二進制文件相互依賴,以便可以執行程序。
相關問題
- 1. 預編譯在編譯器中究竟意味着什麼
- 2. 這些詞在編程環境中意味着什麼
- 3. One True Language在編程環境中意味着什麼?
- 4. 1e9在NodeJS的時間環境中意味着什麼?
- 5. 這些術語在CQ5/AEM環境中意味着什麼?
- 6. 「compose」在併發環境中意味着什麼?
- 7. @符號在環境變量中意味着什麼?
- 8. 「文檔」在NLP環境中意味着什麼?
- 9. 'COB'在編程中意味着什麼?
- 10. \在編程中意味着什麼?
- 11. 是什麼語境意味着Android的
- 12. #是什麼!在一個網站鏈接意味着什麼?
- 13. 在這種情況下,pubspec.yaml的環境意味着什麼?
- 14. 「重新編譯源代碼」意味着什麼?在Java中
- 15. 編譯置換在GWT中意味着什麼?
- 16. 什麼是「|」意味着在C#編程?
- 17. 低鏈接在Tarjan的SCC算法中意味着什麼?
- 18. 在AngularJS中結尾意味着什麼double意味着
- 19. 什麼%*%意味着R中
- 20. 什麼呢##意味着在$ {}
- 21. 什麼===在PHP意味着
- 22. 什麼。意味着在PHP?
- 23. 這對循環意味着什麼?
- 24. 什麼是在Java編譯的方法意味着
- 25. 在Python中靜態鏈接和動態鏈接意味着什麼?
- 26. 〜=是什麼。在Stata意味着什麼?
- 27. 什麼外部連接意味着
- 28. void **意味着什麼
- 29. PREEMPTIVE_XE_DISPATCHER這意味着什麼?
- 30. Field.Index.NOT_ANALYZED_NO_NORMS意味着什麼
從您發佈的確切鏈接開始,請參閱[這裏](http://en.wikipedia.org/wiki/Link-time) –