linux程序加载器,Linux 动态连接加载器 ld-linux用法
Linux 動態(tài)連接加載器 ld-linux用法
文章作者:網(wǎng)友投稿 發(fā)布時間:2009-12-10 16:21:11 來源:網(wǎng)絡(luò)
ld-linux有兩種用法,間接調(diào)用和直接調(diào)用。 間接調(diào)用時,連接器會把ld-linux的執(zhí)行路徑嵌入到可執(zhí)行文件中,如elf文件時,ld-linux被放在.interp段中。 直接調(diào)用時,在命令行下輸入/lib/ld-linux-so.* [選項(xiàng)] [可執(zhí)行程序] [程序參數(shù)] ld-linux按照如下順序搜索可執(zhí)行程序需
ld-linux有兩種用法,間接調(diào)用和直接調(diào)用。
間接調(diào)用時,連接器會把ld-linux的執(zhí)行路徑嵌入到可執(zhí)行文件中,如elf文件時,ld-linux被放在.interp段中。
直接調(diào)用時,在命令行下輸入/lib/ld-linux-so.* [選項(xiàng)] [可執(zhí)行程序] [程序參數(shù)]
ld-linux按照如下順序搜索可執(zhí)行程序需要的共享庫:
1. (只針對elf文件) 可執(zhí)行程序中如果有DT_RPATH或DT_RUNPATH段,則使用這兩個段中指定的搜索目錄。
2.使用環(huán)境變量LD_LIBRARY_PATH指定的搜索目錄
3.使用/etc/ld.so.cache中的搜索目錄,但如果可執(zhí)行程序在連接時候添加了-z nodeflib選項(xiàng),則不使用。
4.使用默認(rèn)的庫目錄,/lib /usr/lib,如果添加了-z nodeflib,則不使用。
編譯可執(zhí)行程序時,可以安如下方法指定共享庫的目錄
gcc -Xlinker -rpath=DIR -o exe exe.c
編譯完后,運(yùn)行readelf -d exe可以看到如下段
0x0000000f (RPATH) Library rpath: [DIR]
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的linux程序加载器,Linux 动态连接加载器 ld-linux用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux挂载文件夹查看命令,findm
- 下一篇: linux 内核升级 网络 不能上网,D