25
2021
03

dynamic framework 和 static framework 的区别是什么?

静态库和动态库, 静态库是每一个程序单独打包一份, 而动态库则是多个程序之间共享.

静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行时将不再更改静态库;而动态库在程序编译时并不会被链接到目标代码中,只是在程序运行时才被载入。

不同点:

静态库在链接时,会被完整的复制到可执行文件中,如果多个App都使用了同一个静态库,那么每个App都会拷贝一份,缺点是浪费内存.

动态库不会复制,只有一份,程序运行时动态加载到内存中,系统只会加载一次,多个程序共用一份,节约了内存.

共同点:

静态库和动态库都是闭源库,只能拿来满足某个功能的使用,不会暴露内部具体的代码信息.


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。