當鏈接到的動態共享庫的應用程序,如當鏈接到動態共享庫時,ld會做什麼?
gcc -o myprog myprog.o -lmylib
我知道(在我的Linux ld
)鏈接器使用-l選項中產生MYPROG ELF可執行文件存儲庫的名稱(在這種情況下爲mylib
),它將用於加載和鏈接時(如果我們忽略惰性動態鏈接,程序將啓動時)。我想知道關於動態共享庫的ld
(我只是在編譯時完成靜態鏈接步驟)執行的其他作業是什麼?
ld
必須檢查未定義的符號存在於提供動態共享庫- 任何其他東西?
此外,我會對您正在使用的指針(書籍,在線文檔)感興趣,內容涉及ELF格式和動態鏈接和加載過程。