Dynamic Library 动态库
2017-01-23 17:29
197 查看
Dynamic Library
大部分的iOS开发者可能没有接触过Dynamic Library的概念,因为面向App
Store的App用不到它。但是放眼望去,Cydia中的tweak插件无一不是以Dynamic
Library的形式工作的,正式这些tweak插件的存在让我们能够随意定制自己的iOS。所以,有必要了解Dynamic Library
的基本知识。
Static Library
的概念很简单,在一个App启动时,系统会把App的代码和它所连接的Static Library全部放进分配好的内存空间里,不过因为一次性加载的内容过多,会造成App启动慢。
Dynamic Library
则相对智能些,只有当App用到这个Library时,系统才把这个Library加载进内存。具体来说,当一个App启动时,iOS内核创建一个新的进程,然后把App需要的Dynamic
Library 加载进App的内存空间。
值得一提的是,虽然Dynamic Library
的功能非常抢单,但是其本身并不是可执行程序,而是以类似插件的形式存活在一个App钟的,是这个App的一部分。所以,Dynamic Library的权限及内存空间是由加载它的那个App决定的,比如你写了一个instagram的tweak插件,用来将你喜欢的图片保存在本地,如果你的保存目录是/var/mobile/Applications/InstagramGUID/Documents,那么这样操作没有问题,你的tweak插件能够非常好的工作;如果你想保存在/Developer下,而你又没注意或忘记了这个tweak插件是存活在一个App
Store App 里,那么可能保存了一堆美图,准备回头再看,却发现/Developer
里啥也没有———你的写操作都被sanbox给禁掉了。
大部分的iOS开发者可能没有接触过Dynamic Library的概念,因为面向App
Store的App用不到它。但是放眼望去,Cydia中的tweak插件无一不是以Dynamic
Library的形式工作的,正式这些tweak插件的存在让我们能够随意定制自己的iOS。所以,有必要了解Dynamic Library
的基本知识。
Static Library
的概念很简单,在一个App启动时,系统会把App的代码和它所连接的Static Library全部放进分配好的内存空间里,不过因为一次性加载的内容过多,会造成App启动慢。
Dynamic Library
则相对智能些,只有当App用到这个Library时,系统才把这个Library加载进内存。具体来说,当一个App启动时,iOS内核创建一个新的进程,然后把App需要的Dynamic
Library 加载进App的内存空间。
值得一提的是,虽然Dynamic Library
的功能非常抢单,但是其本身并不是可执行程序,而是以类似插件的形式存活在一个App钟的,是这个App的一部分。所以,Dynamic Library的权限及内存空间是由加载它的那个App决定的,比如你写了一个instagram的tweak插件,用来将你喜欢的图片保存在本地,如果你的保存目录是/var/mobile/Applications/InstagramGUID/Documents,那么这样操作没有问题,你的tweak插件能够非常好的工作;如果你想保存在/Developer下,而你又没注意或忘记了这个tweak插件是存活在一个App
Store App 里,那么可能保存了一堆美图,准备回头再看,却发现/Developer
里啥也没有———你的写操作都被sanbox给禁掉了。
相关文章推荐
- 【转】Static library & dynamic library -- linux系统下的静态库与动态库
- Windows简易动态库制作方式
- C++静态库与动态库
- 如何利用eclipse 生成动态库
- 动态库与静态库优缺点比较
- Linux 下 Gcc 生成和使用静态库和动态库详解
- 静态库-动态库 使用
- 使用Poco实现插件方式加载动态库
- android(NDK+JNI)---NDK 编译和使用静态库、动态库
- Linux下使用开源代码及编译使用动态库
- 静态库(.a)与动态库(.so或.sa)
- Linux系统中“动态库”和“静态库”那点事儿
- faster_rcnn c++版本的 caffe 封装,动态库(2)
- C语言 动态库简单开发
- Linux编程学习之静态库和动态库
- Linux动态库生成与使用指南
- 动态库和PIC-位置无关代码
- faster_rcnn c++版本的 caffe 封装,动态库(2)
- 使用objdump查看动态库和静态库中具有哪些函数
- 库(动态库/静态库)