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 和 SYSEXIT 指令,而不是中断。
您所看到的 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中的内容
想要加载制定的库,可以设定环境变量 LD_LIBRARY_PATH, 以冒号分隔, 该环境变量主要用于指定查找共享库时除了默认路径之外的其他路径。(该路径在默认路径之前查找), 例子:
export LD_LIBRARY_PATH=/usr/lib/oldstuff:/opt/IBM/AgentController/lib
分享到:
相关推荐
【linux学习笔记--19】POSIX IPC——共享内存.doc 【linux学习笔记-10】Linux进程相关系统调用(三).doc 【linux学习笔记-11】守护进程daemon.doc 【linux学习笔记-12】守护进程的日志实现.doc 【linux学习笔记-13...
【linux学习笔记-2】父子进程共享文件描述符 【linux学习笔记-3】文件操作(stat,chmod,umask) 【linux学习笔记-4】进程扇和进程链 【linux学习笔记-5】编写自己的ls命令 【linux学习笔记-6】文件IO操作--读写、...
《兄弟连Linux教程1-16章学习笔记》是一份全面涵盖Linux基础知识的学习资料,特别适合初学者和希望快速提升Linux技能的人群。这个压缩包包含了一系列文本文件和辅助图片,旨在帮助用户深入理解Linux系统的基本操作和...
1,安装VMware-tool与实现文件共享;2,u-boot移植步骤;3,安装交叉编译环境;4,启动代码的运行;5,嵌入式linux开发加速器--NFS开发环境的建立;6,烧写第一个程序到land flash;7,使用autotools自动生成...
韩顺平 Linux 学习笔记 本学习笔记涵盖了 Linux 的基础知识、Samba 服务的搭建、Web 项目的开发和发布等内容。学习笔记分为多个阶段,从基础的 Linux 平台开发到高级的 Unix 环境编程,并涉及到 Linux 应用系统开发...
这份"超详细的Linux学习笔记"涵盖了Linux运维管理的多个重要方面,包括DNS(Domain Name System)、Samba、Apache、Sendmail以及常用的Linux命令。让我们逐一探讨这些知识点。 首先,DNS是互联网上的名称解析服务,...
### Debian Linux 学习笔记 #### 一、基本命令与目录结构 Debian Linux 是一个广泛使用的 Linux 发行版,其稳定性和安全性受到广大用户的认可。对于初学者来说,掌握 Debian Linux 的基本命令和目录结构至关重要。...
- **简介**:此目录主要用于存储共享库文件,这些库文件支持其他程序和进程的运行。 - **重要性**:库文件对于程序的运行至关重要,它们能够提高程序间的兼容性和资源利用率。 4. **/etc** - **简介**:这个目录...
本学习笔记将深入讲解Linux的基础知识,包括常用命令、账户管理、vi编辑器的使用、SHELL的运用、应用程序的安装与管理,以及Linux系统管理和网络配置。通过学习这些内容,你将能够更好地理解和操作Linux系统。 第一...
Linux学习笔记 本文档旨在为读者提供 Linux 操作系统的基础知识,包括 Linux 的介绍、安装、目录结构、远程操作工具等内容。 1. Linux 介绍 Linux 是一个开源、免费的操作系统,其稳定性、安全性、处理多并发能力...
这份“非常经典的Linux学习笔记”涵盖了Linux系统的核心概念和实用技能,对于初学者和进阶者都是宝贵的参考资料。 首先,我们要了解Linux的目录架构,它是基于Unix的文件系统布局。在Linux中,一切皆为文件,包括...
Linux新手的学习笔记主要涵盖了Linux操作系统的基本使用和管理,包括Linux的安装过程以及对文件系统和RPM(Red Hat Package Manager)的理解。以下是这些主题的详细解释: **Linux的安装** Linux有多种发行版,如...
Linux下C语言开发笔记整理涵盖了从基础知识到网络通信的多个方面,主要围绕在Unix/Linux系统环境下使用C语言进行软件开发的各项技术与理论。以下是从文件提供的信息中提炼的知识点。 ### Unix/Linux系统基本命令和...
Linux C 学习笔记 在深入探讨Linux C编程之前,我们先理解一下C语言和Linux操作系统的基本概念。C语言是一种强大的、高效的编程语言,被广泛用于系统编程、嵌入式开发以及各种软件开发中。而Linux则是一个开源的、...
本篇“Linux学习笔记”详细介绍了Linux的基本目录结构及其各自的功能,这对于初学者理解Linux系统的核心概念非常重要。 #### 二、Linux目录结构解析 1. **/(根目录)** - 根目录是Linux文件系统的起点,所有的...
Linux学习笔记概述 Linux是一种自由和开放源代码的操作系统,其设计目标是提供一个轻量级、高效且安全的计算平台。Linux系统采用类UNIX目录结构,每个目录都有特定的功能和用途。以下是对Linux主要目录及其内容的...
这个个人学习笔记集合了作者在深入理解Linux Shell过程中的经验与精华,旨在帮助读者更好地掌握这一强大的命令行工具。 首先,让我们了解一下Shell的基础知识。在Linux中,Shell是一个命令解释器,它接收用户的输入...
MySQL多实例配置,顾名思义,是指在单台服务器上运行多个MySQL实例。每个实例能够监听不同的端口,拥有独立的配置文件、数据文件和启动...掌握如何合理配置和管理MySQL多实例,对于Linux运维工程师来说是一项必备技能。