亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

鏈接器做什么?

鏈接器做什么?

C++
慕蓋茨4494581 2019-12-10 13:08:58
我一直想知道。我知道編譯器會將您編寫的代碼轉換為二進制文件,但是鏈接程序會做什么?他們一直是我的謎。我大致了解什么是“鏈接”。這是將對庫和框架的引用添加到二進制文件中的時候。除此之外,我什么都不懂。對我來說,它“有效”。我也了解動態鏈接的基礎知識,但沒有什么太深的。有人可以解釋一下這些條款嗎?
查看完整描述

3 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

在像“ C”這樣的語言中,傳統上,各個代碼模塊被單獨編譯為目標代碼的blob,除了在模塊外部進行的所有引用(即對庫或其他模塊)具有引用之外,還可以在各個方面執行尚未解決(即,它們是空白,正在等待有人來進行所有連接)。

鏈接器所做的是一起查看所有模塊,查看每個模塊需要連接到外部本身的內容,并查看它正在導出的所有內容。然后修復所有問題,并生成最終的可執行文件,然后可以運行該可執行文件。

在動態鏈接還在進行的地方,鏈接器的輸出仍然無法運行-仍然有一些對外部庫的引用尚未解析,并且它們在加載應用程序時由OS解析。甚至在運行過程中更晚)。



查看完整回答
反對 回復 2019-12-11
  • 3 回答
  • 0 關注
  • 401 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號