静态库和动态库

  • 库是程序代码的集合,是共享程序代码的一种方式
  • 根据源代码的公开情况,分为开源库和闭源库—>编译后的二进制文件
  • 闭源库分为:静态库和动态库
    • 静态库 .a和.framework
    • 动态库 .tbd和.framework(iOS取消了.dylib,使用.tbd代替)
    • 静态库:链接时,静态块会被完整的赋值到可执行文件中,被多次使用就有多次的冗余拷贝
    • 动态库:链接时不复制,程序运行时有系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存
    • 在MAR中开发,在ARC下使用,可以使用静态库,二进制文件,都可以使用

推荐阅读更多精彩内容