我为 Red Hat Linux 构建了一个名称服务切换模块。
使用 strace,我确定操作系统在各种目录中查找库,但仅查找扩展名为 .so.2
的文件(例如 libnss_xxx.so.2
,其中 xxx
是服务名称)
为什么不寻找 .so
或 .so.1
库?是否有任何保证它不会停止寻找 .so.2
库并在将来开始寻找 .so.3
库?
编辑 : http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html ,表示 2
是“每当接口(interface)更改时递增的版本号”。
所以我猜:
有人可以确认这是真的吗?
最佳答案
您的假设通常是正确的,只需稍作修改:
接口(interface)的版本不一定需要随着库的版本而改变,即新版本的库可能仍然提供相同的接口(interface)。
关于linux - 为什么在 Linux 上 NSS 模块必须以 .so.2 结尾?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13527936/