linux程序加载器,Linux 动态连接加载器 ld-linux用法
Linux 動態連接加載器 ld-linux用法
文章作者:網友投稿 發布時間:2009-12-10 16:21:11 來源:網絡
ld-linux有兩種用法,間接調用和直接調用。 間接調用時,連接器會把ld-linux的執行路徑嵌入到可執行文件中,如elf文件時,ld-linux被放在.interp段中。 直接調用時,在命令行下輸入/lib/ld-linux-so.* [選項] [可執行程序] [程序參數] 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]
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的linux程序加载器,Linux 动态连接加载器 ld-linux用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux挂载文件夹查看命令,findm
- 下一篇: linux 其他常用命令