这个名字的3位数是多少?

时间:2012-12-06 22:09:48

标签: linux shared-libraries

我正在学习管理我的共享库,google显示了关于两个主要和次要版本数字的大量信息,但我正在查看的许多库有3个数字,例如libsqlite3.so.0.8.6,第三个数字是什么?

提到'时期':

  

... soname的前缀为lib'', the name of the library, the phrase。所以'',后跟一个句点和一个版本号,只要界面发生变化就会增加...   http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html

但是我找不到这段时间数字及其效果的解释?

编辑:

libsqlite3.so.0.8.6
              | | |
_What's this?_| | |
_Major__________| |
_Minor____________|

1 个答案:

答案 0 :(得分:2)

Here is a thread来自其他论坛(快速Google搜索),其中包含有关命名的对话:

来自主题:

  

当有两个数字时,有一个主要版本和一个次要版本。   libncursesw.so.5.6有主要版本5和次要版本6;理论上   任何相同主要版本的次要版本都是兼容的   重新编译,所以链接到libncursesw.so.5的程序不会错过   如果你为一个错误修正升级到5.7,那么节拍。如果你有一个古老的   程序要求版本4,您可以安全地安装4.x库   除了5.x之外,只有那个程序会使用它。

基本上,命名约定允许对链接库的程序进行三级兼容。程序可以选择链接库名称本身,特定主要编号或特定major.minor编号。这完全取决于应用程序开发人员确定最有意义的内容。

您会注意到通用和主要数字表单通常链接到最新的major.minor表单。根据库的需要,库可以包含其他版本号(例如/lib/ld-linux.so)。版本号仍然从左到右进行,特异性增加。