學習手冊:ld-Linux用法

來源:互聯網
上載者:User

經過長時間學習Linux,遇到了很多問題,也解決了了一些問題,於是和大家分享一下ld-Linux用法,看完本文你肯定有對於ld-Linux用法有不少收穫,希望本文能教會你更多東西。ld-Linux有兩種用法,間接調用和直接調用。

間接調用時,連接器會把ld-Linux 的執行路徑嵌入到可執行檔中,如elf檔案時,ld-Linux 被放在.interp段中。

直接調用時,在命令列下輸入/lib/ld-Linux -so.* [選項] [可執行程式] [程式參數]

ld-Linux 按照如下順序搜尋可執行程式需要的共用庫:

1. (只針對elf檔案) 可執行程式中如果有DT_RPATH或DT_RUNPATH段,則使用這兩個段中指定的搜尋目錄。

2.使用環境變數LD_LIBRARY_PATH指定的搜尋目錄

3.使用/etc/ld.so.cache中的搜尋目錄,但如果可執行程式在串連時候添加了-z nodeflib選項,則不使用。

4.使用預設的庫目錄,/lib /usr/lib,如果添加了-z nodeflib,則不使用。

編譯可執行程式時,可以安如下方法指定共用庫的目錄

gcc -Xlinker -rpath=DIR -o exe exe.c

編譯完後,運行readelf -d exe可以看到如下段

0x0000000f (RPATH) Library rpath: [DIR]

以上就是ld-Linux用法。

  1. 詳解Linux作業系統中軟永久連結的區別
  2. 來自Linux作業系統的inode和軟永久連結介紹
  3. Linux作業系統不再支援安騰處理器
  4. 詳解Linux作業系統恢複問題
  5. 闡述Linux作業系統安裝無線網卡驅動

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.