gpt4 book ai didi

linux - 共享库的管理/文件名

转载 作者:太空宇宙 更新时间:2023-11-04 11:38:46 24 4
gpt4 key购买 nike

我目前正在处理共享库,有一件事我不太明白。我将从维基百科的引述开始:

Unix and Unix-like platforms more commonly use the term shared library or shared object; consequently, the .so filename extension occurs most commonly to identify shared library files in such environments — often followed by another dot and a version number (for example libc.so.6).

听起来不那么令人困惑,是吧?好吧,它实际上是。我刚刚查看了我的/usr/lib 目录……很多 .so 文件。但我不明白的是:有时我确实有多个库文件(例如 libz.so - libz.so.1 - libz.so.1.2.5) - 好的不同版本号,所以没问题... 好吧,这没问题,但是在多个库的每种情况下,除了一个文件之外,所有文件都只是指向一个真实文件的符号链接(symbolic link)。所以我的简单问题:为什么?为什么有几个文件,几乎相同的文件名,然后只是指向另一个文件的链接。这不是一次或两次发生的事情......

谢谢

最佳答案

这样做的原因是程序可以根据需要依赖库的特定版本。

例如,程序可能会说“我需要库”。 libz.so 的当前默认版本将指向 libz.so.1.2.5。

另一个程序可能会说“我需要 libz 的版本 1”。 libz.so.1 的当前默认版本指向 libz.so.1.2.5。

libz.so.1.2.5 大部分都存在,因此您可以确切地知道您安装的是哪个版本。您可以有多个版本,并根据需要切换符号链接(symbolic link),但通常不会这样做。

关于linux - 共享库的管理/文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5379166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com