ios 开发中 动态库 与静态库的区别
2013-01-25 03:33
246 查看
原文地址:http://hi.baidu.com/chenfalei/item/52140da7ceccfda929ce9dc3
动态库使用有如下好处:
1使用动态库,可以将最终可执行文件体积缩小
2使用动态库,多个应用程序共享内存中得同一份库文件,节省资源
3使用动态库,可以不重新编译连接可执行程序的前提下,更新动态库文件达到更新应用程序的目的。
4从1可以得出,将整个应用程序分模块,团队合作,进行分工,影响比较小。
等其他好处,
从2可以看出,其实动态库应该叫共享库,那么从这个意义上来说,苹果禁止iOS开发中使用动态库就可以理解了:
因为在现在的iPhone,iPodTouch,iPad上面程序都是单进程的,也就是某一时刻只有一个进程在运行,那么你写个共享库,
1共享给谁?(你使用的时候只有你一个应用程序存在,其他的应该被挂起了,即便是可以同时多个进程运行,别人能使用你的共享库里的东西吗?你这个是给你自己的程序定制的。)
2目前苹果的AppStore不支持模块更新,无法更新某个单独文件(除非自己写一个更新机制:有自己的服务端放置最新动态库文件)
至于苹果为啥禁止ios开发使用动态库我就猜到上面俩原因
好了,那么就剩下静态库了,使用静态库也有好处
1,模块化,分工合作
2,避免少量改动经常导致大量的重复编译连接
3,也可以重用,注意不是共享使用
动态库使用有如下好处:
1使用动态库,可以将最终可执行文件体积缩小
2使用动态库,多个应用程序共享内存中得同一份库文件,节省资源
3使用动态库,可以不重新编译连接可执行程序的前提下,更新动态库文件达到更新应用程序的目的。
4从1可以得出,将整个应用程序分模块,团队合作,进行分工,影响比较小。
等其他好处,
从2可以看出,其实动态库应该叫共享库,那么从这个意义上来说,苹果禁止iOS开发中使用动态库就可以理解了:
因为在现在的iPhone,iPodTouch,iPad上面程序都是单进程的,也就是某一时刻只有一个进程在运行,那么你写个共享库,
1共享给谁?(你使用的时候只有你一个应用程序存在,其他的应该被挂起了,即便是可以同时多个进程运行,别人能使用你的共享库里的东西吗?你这个是给你自己的程序定制的。)
2目前苹果的AppStore不支持模块更新,无法更新某个单独文件(除非自己写一个更新机制:有自己的服务端放置最新动态库文件)
至于苹果为啥禁止ios开发使用动态库我就猜到上面俩原因
好了,那么就剩下静态库了,使用静态库也有好处
1,模块化,分工合作
2,避免少量改动经常导致大量的重复编译连接
3,也可以重用,注意不是共享使用
相关文章推荐
- iOS开发中静态库和动态库区别
- ios 开发中 动态库 与静态库的区别
- ios 开发中 动态库 与静态库的区别
- ios 开发中 动态库 与静态库的区别
- ios 开发中 动态库 与静态库的区别
- ios 开发中 动态库 与静态库的区别
- iOS静态库和动态库的区别
- iOS 动态库与静态库的区别(framework,.a,.dylib)
- iOS中的静态库与动态库,区别、制作和使用
- Linux开发工具(gcc,gdb,make,shell)——linux中静态库和动态库的区别(三)
- iOS开发-静态库和动态库
- ios静态库与动态库的区别
- iOS 中的静态库与动态库,区别、制作和使用
- IOS-24-iOS动态库与静态库的区别及原理
- iOS中的静态库与动态库,区别、制作和使用
- Linux开发工具(gcc,gdb,make,shell)——linux中静态库和动态库的区别(三)(2)
- iOS中的静态库与动态库,区别、制作和使用
- xcode 8 /iOS10下静态库和动态库的区别 && framework的制作
- iOS中的静态库与动态库,区别、制作和使用
- iOS中的静态库与动态库,区别、制作和使用