美文网首页
linux学习笔记9-linux库的管理策略

linux学习笔记9-linux库的管理策略

作者: scott_yu779 | 来源:发表于2018-03-05 13:44 被阅读0次

    res and tool

    so管理

    image.png image.png

    LD_LIBRARY_PATH 来处理非标准路经的共享库

    如果只是指定了库名称,在dlopen会按照下面的机制去搜寻:
    根据环境变量LD_LIBRARY_PATH查找
    根据/etc/ld.so.cache查找
    查找依次在/lib和/usr/lib目录查找。

    Linux 运行的时候,是如何管理共享库(*.so)的?在 Linux 下面,共享库的寻找和加载是由 /lib/ld.so 实现的。 ld.so 在标准路经(/lib, /usr/lib) 中寻找应用程序用到的共享库。

    但是,如果需要用到的共享库在非标准路经,ld.so 怎么找到它呢?

    目前,Linux 通用的做法是将非标准路经加入 /etc/ld.so.conf,然后运行 ldconfig 生成 /etc/ld.so.cache。 ld.so 加载共享库的时候,会从 ld.so.cache 查找。

    静态库较适宜于较小的应用程序,因为它们只需要最小限度的函数。而对于需要多个库的应用程序来说,则适合使用共享库,因为它们可以减少应用程序对内存(包括运行时中的磁盘占用和内存占用)的占用。这是因为多个应用程序可以同时使用一个共享库;因此,每次只需要在内存上复制一个库。要是静态库的话,每一个运行的程序都要有一份库的副本。

    相关文章

      网友评论

          本文标题:linux学习笔记9-linux库的管理策略

          本文链接:https://www.haomeiwen.com/subject/anhqfftx.html