我想知道共享庫如何工作我正在問的符號表引用。 是否就像我們包含一個共享庫時它會導出Symbol表進行處理,然後根據我們執行相應函數的一些指針進行處理。共享庫內部
Shared library Strip是什麼意思?
編輯: - 我想知道當共享庫加載到內存中時共享庫是如何工作的。\ 當函數讓Fun()從庫中已定義的應用程序中調用時。那麼這種聯繫如何發生。我希望現在清楚。
我想知道共享庫如何工作我正在問的符號表引用。 是否就像我們包含一個共享庫時它會導出Symbol表進行處理,然後根據我們執行相應函數的一些指針進行處理。共享庫內部
Shared library Strip是什麼意思?
編輯: - 我想知道當共享庫加載到內存中時共享庫是如何工作的。\ 當函數讓Fun()從庫中已定義的應用程序中調用時。那麼這種聯繫如何發生。我希望現在清楚。
程序通過過程鏈接表調用共享庫,過程鏈接表由動態鏈接器/加載程序ld.so
根據動態符號表和重定位條目中的信息填充。在Linux上,此數據以ELF
格式存儲在程序和庫中,您可以使用objdump
和readelf
等程序檢查這些數據。
This Linux Journal article有一個基本的概述。有關更多詳細信息,請查閱Ulrich Drepper的優秀論文How To Write Shared Libraries和Solaris Linker and Libraries Guide。
你能否澄清你的問題 - 我不確定你到底在問什麼。 – DaveR 2009-09-05 13:43:29