全部博文(326)
分类: LINUX
2005-12-18 20:24:42
Linux入门普及读物 解读Linux编程库 (3)
例如,笔者Red Hat Linux 9.0的GUN数据库是libgdbm.so.0.0.2,详细表述如下:
◆library_name是libc.so(标准C库);
◆major_num是2(主版本号);
◆minor_.min是0(次版本号);
◆pathch_num是0(补丁级别号又称发行号)。
libgdbm.so.0.0.2所在目录是/usr/lib,其大小是24576字节,这是一个ELF(Executable and Linking Format)格式的二进制格式文件,运行时由系统将其装入内存开始执行。
ELF有三种主要类型:
◆适于连接的可重定位文件(Relocatable File),可与其它目标文件一起创建可执行文件和共享目标文件。
◆适于执行的可执行文件(Executable File),用于提供程序的进程映像,加载的内存执行。
◆共享目标文件(Shared Object File),连接器可将它与其它可重定位文件和共享目标文件连接成其它的目标文件;动态连接器又可将它与可执行文件和其它共享目标文件结合起来创建一个进程映像。
常用的编程库
库操作命令
Linux库操作可以使用命令完成,目前常用的命令是ldd和ldconfig。
1.ldd ldd是Library Dependency Display缩写,它的作用是显示一个可执行程序必须使用的共享库。
(1)命令格式
ldd [选项] 文件名
(2)主要参数
-d 执行重定位并报告丢失的函数。
-r 执行对函数和数据对象的重定位,并报告丢失的函数和数据对象。