任何人都可以解释这些包含扩展名(.a)的包有时我们可能会将其添加到xcode中:
1)这些包究竟是什么?
2)它们与其他具有(.framework)扩展名的包有什么不同?
3)我可以自定义/更改(.a)包中的代码吗?
提前非常感谢你。
答案 0 :(得分:0)
它们是由ar
生成的静态库(或归档)。它包含一个或多个.o
目标文件,其中包含链接所需的编译代码和符号。
.framework
包含指定接口的头文件(.h
)以及.dylib
(共享库)。
静态库已经编译成机器代码 - 修改代码并不容易。与共享库不同,静态库设计为由链接器链接 - 目标代码将逐字地复制到目标文件中,而共享库要求它在运行时存在,因为只进行引用。