Linux共享库学习笔记

来源:中国IT实验室 作者:中国IT实验室
  

    Linux共享库学习笔记

    ldd命令察看动态链接程序依赖了哪些库:

    $ ldd /bin/ln

    linux-gate.so.1 =>  (0x00990000)

    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x00c6b000)

    /lib/ld-linux.so.2 (0x0085d000)

    其中linux-gate.so.1是Linux Virtual Dynamic Shared Object,介绍如下:

    from http://www.ibm.com/developerworks/cn/linux/l-lpic1-v3-102-3/

    在早期的 x86 处理器中,用户程序与管理服务之间的通信通过软中断实现。 随着处理器速度的提高,这已成为一个严重的瓶颈。 自 Pentium? II 处理器开始,Intel? 引入了 Fast System Call 装置来提高系统调用速度, 即采用 SYSENTER 和 SY***IT 指令,而不是中断。

    您所看到的 linux-vdso.so.1 是个虚拟库,或者说是 Virtual Dynamic Shared Object,它只存在于程序的地址空间当中。 在旧版本系统中该库为 linux-gate.so.1。 该虚拟库为用户程序以处理器可支持的最快的方式 (对于特定处理器,采用中断方式;对于大多数最新的处理器,采用快速系统调用方式) 访问系统函数提供了必要的逻辑 。

    动态库配置文件/etc/ld.so.conf,可以用ldconfig命令来处理/etc/ld.so.conf.

    "ldconfig 命令在 /etc/ld.so.cache 中为最近使用过的共享库生成必须的链接和 cache , 动态加载器利用来自 ld.so.cache 的缓存文件来定位需要动态加载及链接的文件。 如果改变了 ld.so.conf(或在 ld.so.conf.d 中增加新文件), 必须运行 ldconfig 命令(以 root 用户身份)来重构 ld.so.cache 文件。 "

    /sbin/ldconfig -p命令展示/etc/ld.so.cache中的内容


时间:2012-01-21 15:11 来源:中国IT实验室 作者:中国IT实验室 原文链接

好文,顶一下
(2)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量