Linux如何搜索动态库

0x00 背景

在linux下安装一些程序,或者在做pwnable的时候经常出现没有找到动态库的情况。

0x01 如何链接动态库

链接动态库通常有五中方法:

  1. 链接时使用静态库,gcc编译时添加参数
  2. 使用LD_LIBRARY_PATH指定搜索路径, export LD_LIBRARY_PATH=`pwd`
  3. 编译时使用-rpath指定动态库的搜索路径
  4. 修改/etc/ld.so.conf,添加动态库搜索路径
  5. 复制动态库到系统默认的路径下,如/lib/usr/lib

0x02 动态库搜索路径的优先级

动态库搜索路径优先级由高到低排列情况如下:

  1. 编译时指定动态库搜索路径
  2. 环境变量LD_LIBRARY_PATH中的路径
  3. 配置文件/etc/ld/so.conf中的路径
  4. 系统默认的路径lib
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章