名稱
網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁(yè)制作,對(duì)LED顯示屏等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)成都網(wǎng)站營(yíng)銷優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
ldd
-
打印共享庫(kù)的依賴關(guān)系
大綱
ldd
[選項(xiàng)]... 文件...
描述
ldd
輸出在命令行上指定的每個(gè)程序或共享庫(kù)需要的共享庫(kù)。
選項(xiàng)
--version
打印ldd的版本號(hào)
-v
--verbose
打印所有信息,例如包括符號(hào)的版本信息
-d
--data-relocs
執(zhí)行符號(hào)重部署,并報(bào)告缺少的目標(biāo)對(duì)象(只對(duì)ELF格式適用)
-r
--function-relocs
對(duì)目標(biāo)對(duì)象和函數(shù)執(zhí)行重新部署,并報(bào)告缺少的目標(biāo)對(duì)象和函數(shù)(只對(duì)ELF格式適用)
--help
用法信息
或者看看《linux就該這么學(xué)》,具體關(guān)于這一章地址3w(dot)linuxprobe/chapter-02(dot)html.
用來(lái)查看某個(gè)可執(zhí)行文件所依賴的所有動(dòng)態(tài)庫(kù)的名字及其所在路徑。
Linux操作系統(tǒng)也提供了一種更為方便的動(dòng)態(tài)庫(kù)調(diào)用方式,也方便了其它程序調(diào)用,這種方式與Windows系統(tǒng)的隱式鏈接類似。其動(dòng)態(tài)庫(kù)命名方式為“l(fā)ib*.so.*”。在這個(gè)命名方式中,第一個(gè)*表示動(dòng)態(tài)鏈接庫(kù)的庫(kù)名,第二個(gè)*通常表示該動(dòng)態(tài)庫(kù)的版本號(hào),也可以沒(méi)有版本號(hào)。在這種調(diào)用方式中,需要維護(hù)動(dòng)態(tài)鏈接庫(kù)的配置文件/etc/ld.so.conf來(lái)讓動(dòng)態(tài)鏈接庫(kù)為系統(tǒng)所使用,通常將動(dòng)態(tài)鏈接庫(kù)所在目錄名追加到動(dòng)態(tài)鏈接庫(kù)配置文件中。如具有X window窗口系統(tǒng)發(fā)行版該文件中都具有/usr/X11R6/lib,它指向X window窗口系統(tǒng)的動(dòng)態(tài)鏈接庫(kù)所在目錄。為了使動(dòng)態(tài)鏈接庫(kù)能為系統(tǒng)所共享,還需運(yùn)行動(dòng)態(tài)鏈接庫(kù)的管理命令./sbin/ldconfig。在編譯所引用的動(dòng)態(tài)庫(kù)時(shí),可以在gcc采用 ?l或-L選項(xiàng)或直接引用所需的動(dòng)態(tài)鏈接庫(kù)方式進(jìn)行編譯。在Linux里面,可以采用ldd命令來(lái)檢查程序依賴共享庫(kù)。
1)、在Red Hat Linux中函數(shù)庫(kù)可以分為3種類型:靜態(tài)函數(shù)庫(kù)、共享函數(shù)庫(kù)和動(dòng)態(tài)加載函數(shù)庫(kù)。
靜態(tài)函數(shù)庫(kù)在應(yīng)用程序編譯時(shí)就把函數(shù)的執(zhí)行代碼加入到應(yīng)用程序中。
共享函數(shù)庫(kù)中的函數(shù)當(dāng)一個(gè)可執(zhí)行程序啟動(dòng)時(shí)被加載。
動(dòng)態(tài)加載函數(shù)庫(kù)可以在程序運(yùn)行的任何階段加載函數(shù)。
2)、使用nm和ldd命令可以獲得關(guān)于庫(kù)函數(shù)的信息。
nm命令可以列出一個(gè)函數(shù)庫(kù)文件中的符號(hào)表,它對(duì)靜態(tài)的庫(kù)函數(shù)和共享的庫(kù)函數(shù)都能起作用。
ldd命令可以列出一個(gè)程序正常運(yùn)行所需要的共享庫(kù)。
3)、庫(kù)函數(shù)缺省存放在/lib和/usr/lib中,以及動(dòng)態(tài)庫(kù)配置文件內(nèi)所列的目錄中。
如果庫(kù)函數(shù)沒(méi)有在這些目錄下,可以在中加入所須目錄,后運(yùn)行l(wèi)dconfig命令,使之生效。或設(shè)置環(huán)境變量LD_LIBRARY_PATH或LD_PRELOAD加入庫(kù)函數(shù)所存放的目錄。
還有不會(huì)的請(qǐng)參考《linux就該這么學(xué)》,針對(duì)各種linux疑難雜癥,幫助linux學(xué)習(xí)者。