zoukankan      html  css  js  c++  java
  • Linux 动态库加载

    动态库运行时搜索顺序

    1.LD_PRELOAD

      LD_PRELOAD是一个环境变量,用于动态库加载,动态库加载的优先级最高;

    2.-wl,-rpath

      编译目标代码时指定的动态库搜索路径(指的是用-wl,-rpath),readelf -d 命令可以查看编译的目标文件中rpath的路径;

      -L指定编译时的链接路径,-Wl,-rpath指定运行时链接路径;

      

    3.LD_LIBRARY_PATH

      LD_LIBRARY_PATH是一个环境变量,该环境变量主要用于指定查找动态库时除了默认路径之外的其它路径;

    export LD_LIBRARY_PATH=$(pwd)
    ./EXE    #EXE为执行文件  

    LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ./EXE
    

    4.配置文件/etc/ld.so.conf中指定的动态库搜索路径

    配置文件修改完成后,使用ldconfig命令会将/etc/ld.so.conf文件中所有路径下的库更新到内存中

    5.默认动态库路径搜索路径:/lib

    6.默认动态库路径搜索路径:/usr/lib

    编译时查找库的搜索路径

    1.编译时使用-L指定库的路径,通过环境变量LIBRARY_PATH指定搜索路径;

    2.系统标准路径/lib /usr/lib /usr/local/lib;


  • 相关阅读:
    003 python接口 cookies
    RocketDock 安装
    001 python接口 get请求
    mysql创建远程登陆用户并授权
    php时间函数
    ThinkPHP5高阶实战教程
    unset与unlink
    include 和require的区别
    80端口被system 占用
    【纪中受难记】——C2Day4:水题大赏
  • 原文地址:https://www.cnblogs.com/coder-zyc/p/9564142.html
Copyright © 2011-2022 走看看