Dynamic-Linking
獲取共享庫中的函式列表?
如何獲取共享對像庫中定義的函式列表,或找出某個特定函式是否定義在一個庫中?
*nix 系統上有不同的執行檔格式。a.out 是幾年前的一種常見格式,今天它在附近所有主要係統上都是 ELF。
ELF 由描述每個文件數據部分的標題組成。
您要查找的部分是符號表,其中每個符號(函式、變數)都映射到其地址。
共享庫將其全域符號保存在名為 .dynsym 的部分中
您正在尋找的是本節中類型函式和全域綁定的符號。
readelf --syms ./libfoo.so
將為您提供符號的輸出。在 Solaris 和 FreeBSD 上也
elfdump
可以使用。
objdump
還顯示有關您的目標文件的大量資訊,您可以使用-j
開關指定一個部分。