美文网首页
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