库的基本概念及静态库与动态库的区别

库:

程序代码的集合,是共享程序代码的一种方式

(库分为开源库和闭源库)

开源库:

例如AFNetworking,SDWebImage等第三方框架

闭源库:

不公开源代码,只公开接口,看不到具体实现,比如高德地图,环信即时通讯等的SDK.

(闭源库分为静态库和动态库)

静态库:

以".a"或".framework"为文件后缀名

静态库链接时会被完整的复制到可执行文件中,被多次使用就有多次拷贝,(每一个APP都有一个独立的.a文件)


库的基本概念及静态库与动态库的区别_第1张图片

动态库:

以".dylib"或".framework"为文件后缀名

动态库链接时不复制,程序运行时由系统动态加载到内存,供程序调用。而且系统只加载一次,多个程序共用,节省内存。(多个APP公用一个.dylib文件)


库的基本概念及静态库与动态库的区别_第2张图片

你可能感兴趣的:(库的基本概念及静态库与动态库的区别)