44、linux shell命令,ldd

來源:互聯網
上載者:User

1、說明

dd - print shared library dependencies

ldd [OPTION]... FILE...

2、option

-u Print unused direct dependencies.  (Since glibc 2.3.4.)

-d Perform relocations and report any missing objects (ELF only).

-r Perform relocations for both data objects and functions, and report any missing objects or functions (ELF only).

3、其他

1)ldd能夠顯示可執行模組的dependency,其原理是通過設定一系列的環境變數,如LD_TRACE_LOADED_OBJECTS、LD_LIBRARY_VERSION等。【1】當LD_TRACE_LOADED_OBJECTS環境變數不為空白時,任何可執行程式在運行時,它都會只顯示模組的dependency,而程式並不真正執行。

export LD_TRACE_LOADED_OBJECTS = 1

2)ldd顯示可執行模組的dependency的工作原理,其實質是通過ld-linux.so(elf動態庫的裝載器)來實現的。我們知道,ld- linux.so模組會先於executable模組程式工作,並獲得控制權,因此當上述的那些環境變數被設定時,ld-linux.so選擇了顯示可執行模組的dependency。

3)ldd不是一個可執行程式,而只是一個shell指令碼

4)/usr/bin/ldd查看該指令碼。

參考

【1】 對ldd的實現原理進行介紹

http://hi.baidu.com/jackywdx/blog/item/5b64d2518ed6d31f377abe33.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.