静态库
2016-09-14 本文已影响0人
苹果上的小豌豆
一. 静态库的简介
库
所谓库, 就是讲程序代码集合, 封装为一个库文件, 他是共享代码的一种方式, 可以将自己的代码共享给他人使用
库的分类
开源库: 公开代码, 能看到代码的具体实现
闭源库:
不公开代码, 将代码的实现编译为二进制文件, 只将API接口提供给使用者
闭源库分为
静态库: .a和.framework
动态库: .dylib和.framework
静态库和动态库的区别
静态库在链接时, 会被完整的复制到可执行文件中; 多次使用, 就会有多次的拷贝;(import)
动态库则不会复制, 只有一份, 当程序运行时动态加载到内存; 系统只加载一次, 多个程序可以共用, 节省内存
注意: 项目如果使用到自己的动态库, 苹果就不会上架你的APP
但是, 在WWDC2014上公布的, 苹果对iOS8开放动态加载dylib的接口, 也就是说开放了动态库挂载
静态库的主要用途
保护自己的代码: 将自己的技术分享给其他人使用, 但是又不希望自己的代码暴露给别人, 就可以使用静态库:
如一些技术公司提供的SDK: 支付宝/百度高德地图/推送等
将MRC的项目, 打包成静态库, 可以直接在ARC的环境下直接使用, 不需要转换