gpt4 book ai didi

objective-c - `.A`中的 `libobjc.A.dylib`是什么

转载 作者:太空宇宙 更新时间:2023-11-04 03:21:39 25 4
gpt4 key购买 nike

简单的问题,libobjc.A.dylib中的.A是什么?很抱歉这个简单的问题,但要谷歌搜索有关字母“A”的信息并不容易,除非谷歌认为您将其用作“猫”中的单数“a”。

最佳答案

它是用于指示库版本的名称的一部分,并允许存在同一库的多个版本。通常有一个链接到当前版本的朴素名称,例如 libobjc:

$ ls -l libobjc.*
-rwxr-xr-x 1 root wheel 12937200 9 Jul 2016 libobjc.A.dylib
lrwxr-xr-x 1 root wheel 15 7 Nov 2015 libobjc.dylib -> libobjc.A.dylib

这表明 libobjc.dylib 是指向 libobjc.A.dylib 的符号链接(symbolic link)。

作为一个不同的例子考虑libgcc:

lrwxr-xr-x   1 root  wheel        17  7 Nov  2015 libgcc_s.1.dylib -> libSystem.B.dylib
lrwxr-xr-x 1 root wheel 19 20 Dec 2016 libgcc_s.10.4.dylib -> libgcc_s.10.5.dylib
-rwxr-xr-x 1 root wheel 29480 2 Aug 2015 libgcc_s.10.5.dylib

这里有可用库的三个名称和两个不同的版本。

需要特定库版本的软件可以与版本名称链接。当较新版本与较早版本完全兼容时使用链接,因此与较早版本链接的软件实际上获得较新版本。

所有这些只是动态链接的问题。通过静态链接,编译期间使用的库的实际版本被合并到软件二进制文件中,因此不依赖于当前安装在系统上的库版本。

关于objective-c - `.A`中的 `libobjc.A.dylib`是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45268942/

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