linux的动态链接库

来源:互联网 发布:python找不到工作 编辑:程序博客网 时间:2024/05/05 18:32
 1,查看一个程序会使作哪些动态链接库?
     ldd
    例如:   ldd /bin/ls

2,管理动态链接库
    ldconfig
   作用:创建及更新缓存文件

3,ldconfig的工作过程
    它搜索以下三种目录:  /lib
                                   /usr/lib
                以及动态库配置文件 /etc/ld.so.conf中列出的目录
              找到可用的动态链接库  (类似于 lib*.so*)
             为ld.so这个程序创建所需的连接和缓存文件。

    备注一:  ld.so  这个是动态库装入程序,它的真实程序可能是:/lib/ld-2.3.4.so
    备注二:缓存文件名/etc/ld.so.cache

4,ldconfig的用法:

    ldconfig -v        
    //列出所搜索到的目录及搜索到的链接库

    ldconfig -p
    //列出缓存文件 /etc/ld.so.cache中的列出的动态链接库列表
   
    ldconfig /usr/zhsoft/lib
    //让ldconfig临时性添加指定目录下的链接库文件到ld.so.cache中,得以让系统共享这些链接库
    注意,再度运行ldconfig时,此目录下的链接库不会再被共享

5,如何共享一个动态链接库?
    3种方法
        第一种方法:复制动态链接库到系统共享目录下
                          /lib/
                          /usr/lib/
                         及ld.so.conf中的目录
       例:    cp libmy.so /lib/
            或建立符号链接:          ln -s  /my/lib.so /lib

      第二种方法:把动态链接库的目录名追加到ld.so.conf中,
       pwd >> /etc/ld.so.conf
       ldconfig


     第三种方法:
                  ldconfig `pwd`
                 临时性添加到共享库