动态库的命名规则

1、动态库的命名规则:libname.so.x.y.z

名字 含义
lib 这是共享库的前缀
name 共享库名字
x 主版本号
y 次版本号
z 发布版本号

2、每个版本号的含义

版本号 含义
主版本号 表示库的重大升级,不同主版本号的库之间是不兼容的。依赖旧的主版本号的程序需要改动相应的部分,并且重新编译,才能在新版本的共享库中运行。一般来说,就是新版本库在旧版本库的基础上,改动了函数接口或者数据类型,导致不兼容。
次版本号 表示库的增量升级,即增加一些新的接口符号,且保持原来的符号不变。在主版本号相同的情况下,高的次版本号的库兼容低的次版本号的库。依赖低的次版本号库编译的程序,可以在新的次版本号的库中运行,因为新次版本号库中保留了低次版本号库中所有的接口,并且没有改变定义和含义。
发布版本号 表示库的一些错误修正、性能的提升等,并不添加任何新的接口,也不对接口进行更改。相同主版本号、次版本号的共享库,不同的发布版本之间完全兼容。

3、总结

(1)主版本号不同的库之间不兼容;
(2)主版本号相同,高次版本号的库兼容低次版本号的库;
(3)主、次版本号相同的库,不同发布版本之间完全兼容;

你可能感兴趣的:(#,《程序员的自我修养》,动态库,C语言)