soname for a shared library:
lib <library name> .so. <major ver>
fully-qualified soname for a shared library:
<path> /lib <library name> .so. <major ver>
real name for a shared library:
lib <library name> .so. <major ver> . <minor ver> . <release>
linker name for a shared library:
lib <library name> .so
一般soname对应的是一个符号链接,是在运行ldconfig时由其根据共享库header中的SONAME域创建的。如果创建共享库时未通过-Wl,-soname,...指定其SONAME,则ldconfig不会为其创建对应的soname符号链接。linker name对应的符号链接主要用于开发链接使用,一般是创建一个指向soname而不是real name的链接,以便减少版本更替时需要改变的链接数量(当然共享库数量较少时指向soname或real name均可,系统软件包也是两种方式都有采用的例子)。
<major ver>主要表明接口ABI兼容性,一般如果共享库接口产生了非向前兼容的更改就要升级<major ver>。
本文介绍了共享库的不同名称形式,包括soname、fully-qualified soname、realname和linkername,并详细解释了它们之间的区别及用途,特别是soname在运行ldconfig时的作用。
431

被折叠的 条评论
为什么被折叠?



