ios中的.dylib和.a lib有什么区别?

前端之家收集整理的这篇文章主要介绍了ios中的.dylib和.a lib有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道Objective c中的编译和运行时是什么,(方法调配是一个运行时)但是我想知道是什么画了这两个库之间的界限?一个.a和.dylib?他们的目的是什么,除了陈述一个是静态的而另一个是动态的?我们何时需要一个而不是另一个?

解决方法

静态库(.a)

静态库允许应用程序在编译时将代码加载到其地址空间.这导致磁盘上的大小更大,启动时间更慢.因为库的代码直接添加链接目标的二进制文件中,这意味着要更新库中的任何代码,也必须重建链接目标.

动态库(.dylib)

动态库允许应用程序在运行时实际需要时将代码加载到其地址空间中.因为代码没有静态链接到可执行二进制文件中,所以在运行时加载会带来一些好处.主要是,库可以使用新功能错误修复进行更新,而无需重新编译和重新链接可执行文件.此外,在运行时加载意味着各个代码库可以拥有自己的初始化程序,并在从内存中卸载之前清理自己的任务

猜你在找的iOS相关文章