什么是库
库主要是为了共享代码方式。库分为两种:静和动态库。
静态库和动态库的区别
程序会经过预编译,编译,汇编,链接,装入。
静态库: 在链接过程中将静态库会完整的拷贝到可执行文件中。如果多次被使用就会有多次冗余的拷贝。
动态库:在链接的时候不进行复制,在程序运行时动态的加载到内存,系统只加载一次,多个程序共用,节省内存。
iOS的静态库有两种形式
.a和.framework。
ios的静态库同样也有两种形式
.dylib 和 .framework
–
这里注意的是.frameWork既可以为静态库,又可以是动态库
因为苹果自家的.framework是动态库。我们自己建的是静态库。
a与.framework有什么区别?
.a是一个纯二进制文件。.framework不仅有二进制文件还有资源文件。.a文件不能直接使用,至少要有.h文件配合,.framework文件可以直接使用。
.a + .h + sourceFile = .framework。