共享库版本命名
Linux 有一套规则来命名系统中的每一个共享库。它规定系统中的每一个动态库命名规则必须如下:
libname.so.x.y.z
- 最前面使用前缀
lib
,中间是库的名字和后缀.so
,最后面跟着三个数字组成的版本号。 -
x
表示主版本号 -
y
表示次版本号 -
z
表示发布版本号
主版本号表示库的重大升级,不同主版本号之间是不兼容的。
次版本号表示库的增量升级,即增加一些新的接口符号,且保持原来的符号不变。
发布版本号表示库的一些错误修正,性能的改进,并不添加任何新的接口。
SO-NAME
每一个共享库都有一个对应的SO-NAME
,这个SO-NAME
即共享库的文件名去掉次版本号和发布版本号,保留主版本号。
在Linux 中,系统会为每一个共享库在它所在的目录创建一个
链接名
共享库的查找过程
共享库的创建和安装
共享库的创建
创建共享库最关键是使用2个参数:
-fPIC
表示使用地址无关代码的技术来生产输出文件。
-shared
表示输出结果是共享库的类型。
共享库的安装
最简单的方法就是将共享库复制到某个标准的共享库目录,如/lib
和/usr/lib
,然后运行ldconfig
命令即可
网友评论