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;


  • 相关阅读:
    ZipOutputStream出现多层目录问题
    javascript操作cookie的函数
    debian下install mysql
    Tecent Iphone Qzone Clint Login.js(相当规范)
    在Debian中网卡的设置
    JQuery版MD5摘要算法
    Aspose.Word
    SQL SERVER实用技巧
    XP ROLES
    Velocity用户手册中文版
  • 原文地址:https://www.cnblogs.com/coder-zyc/p/9564142.html
Copyright © 2011-2022 走看看