美文网首页
iOS学习-静态库的开发1

iOS学习-静态库的开发1

作者: 快乐的tomato | 来源:发表于2021-10-02 18:00 被阅读0次

一、什么是库

库就是程序代码的集合,是贡享程序代码的一种方式

二、库的分类

1、开源库

公开源代码,能看到代码的具体实现,比如AFNetworking、SDWebImage

2、闭源库

源代码不公开,是经过编译后的二进制文件,看不到具体实现

三、库存在的形式

1、静态库

.a 文件
.framework文件

2、动态库

.dylib文件
.tdb文件
.framework文件

四、静态库和动态库的区别

1、静态库

静态库在链接时,会被完整的复制到可执行文件中,别多次使用,就有多次拷贝

2、动态库

动态库不会复制,只有一份,程序运行时动态加载到内存,系统只加载一次,多个程序共用,节省内存
之前项目中如果使用自己的动态库,不允许上架,但是,iOS8以后,苹果开发了动态加载.dylib接口,也就是说开放了动态挂载。

五、.a静态库和.framework静态库的区别

1、 .a是一个纯二进制文件,.framework除了有二进制文件之外,还有资源文件,比如图片之类的。
2、.a文件不能直接使用,至少要有.h文件的配合,.framework文件可以直接使用
3、 .a+.h + sourceFile(资源文件) = .framework
4、建议使用.framework

相关文章

网友评论

      本文标题:iOS学习-静态库的开发1

      本文链接:https://www.haomeiwen.com/subject/vfrmnltx.html