复习Linux ELF共享库版本概念

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>。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值