.a和.framework的区别

来源:互联网 发布:linux查找rpm包位置 编辑:程序博客网 时间:2024/05/28 05:16

一、库: 
库是共享程序代码的方式,一般分为静态库和动态库

二、静态库与动态库的区别: 
静态库:连接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。 
动态库:连接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。

三、iOS静态库形式和动态库形式: 
静态库:.a和.framework 
动态库:.dylib和.framework

四、framework静态库和动态库的区分: 
系统的.framework是动态库,我们自己建立的.framework是静态库

五、.a和.framwork的区别: 
.a是一个纯二进制文件,.framework中除了有二进制文件外还有资源文件。 
.a文件不能直接使用,至少要有.h文件配合,.framework文件可以直接使用。 
.a + .h + sourceFile = .framework

六、使用静态库的原因: 
实现iOS程序的模块化,可以把固定的业务模块化成静态库。 
分享你的代码库给别人,但并不公开你的源码

1 0