linux有一套规则来命名系统中的每一个共享库, 它规定共享库的文件命名规则必须如下:
libname.so.x.y.z
最前面使用前缀"lib", 中间是库的名字,后缀是".so", 最后面跟着的是三个数字组成的版本好。
x表示主版本号, y表示此版本号, z表示发布版本号。
三个版本号含义不同:
1。 主版本号: 表示库的重大升级, 不同主版本号的库之间是不兼容的, 依赖于旧的主版本号的程序要改动相应的部分,
并且重新编译,才可以在新版本的共享库中运行; 或则,系统必须保留就版的共享库,使得那些依赖于旧版共享库的程序能
够正常运行。
2. 次版本号: 表示库的增量升级,即增加一些新的接口符号,且保持原来的符号不变。在主版本号相同的情况下,
高的次版本号的库向后兼容低的此版本号的库。一个依赖于旧的次版本好共享库的程序,可以在新的次版本好共享库中
运行,应为新版本中保留了原来所有的接口,并且不改变他们的定义和含义
3。 发布版本号:表示库德一些错误的修正,性能的改进等,并不添加任何新的接口, 也不对接口进行更改。