3
我一直對鏈接器的工作方式感到困惑,並且這是一個難以搜索的主題。ELF和PE的基本鏈接過程如何工作
爲了證明我的問題,並提供一個答案的框架,我會放下我所知道的(或想我知道)爲止。我可能是非常錯誤的。 :)
首先,每個.cpp文件構建成中間文件(.o對於POSIX/ELF和.OBJ爲Win/PE我相信)。該中間文件包含由它構建的.cpp定義的所有符號,並且具有關於需要正確解析哪些外部鏈接的說明。作爲對此的擴展,Posix系統允許您將.o文件合併到一個.a文件中(這看起來沒有什麼比合並更多的東西?這是什麼命令?)。 .lib是Posix .a文件的Win/PE等價物嗎?
接着,將中間文件鏈接在一起,外部依賴解決,你有你的可執行文件。我錯過了任何步驟?
謝謝!
良好,即回答了我所有的問題。謝謝! :) – Nayruden 2008-12-03 17:27:30