美文网首页
动态库和静态库的区别

动态库和静态库的区别

作者: 邓布利多教授 | 来源:发表于2019-03-08 10:28 被阅读0次

函数库分为静态库和动态库两种。

静态库:即静态链接库。以.a 为文件后缀名。在程序编译时会被链接到目标代码中,程序运行时将不再需要该静态库。

动态库:即动态链接库。以.tbd(之前叫.dylib) 为文件后缀名。在程序编译时并不会被链接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在

在Mac OS和iOS中,除了.a和.tbd后缀的,还可以用.Framework后缀的,Framework 实际上是一种打包方式,将库的二进制文件,头文件和有关的资源文件打包到一起,方便管理和分发。

在 iOS 8 之前,出于安全的考虑,开发者可以使用的Framework 只有苹果自家的Framework,iOS 平台不支持使用自己生成的动态Framework。如果开发者想要在 iOS 平台共享代码,唯一的选择就是打包成静态库 .a 文件,同时附上头文件(例如微信的SDK和支付宝SDK)。iOS 8/Xcode 6 推出之后,iOS 平台添加了动态库的支持,同时 Xcode 6 也原生自带了Framework 支持。之所以支持了使用自己的Framework,是因为Extension(扩展)的出现。Extension 和 App 是两个分开的可执行文件,同时需要共享代码。

区别:静态库代码装载的速度快,执行速度略比动态库快。但是动态库更加节省内存,可执行文件体积比静态库小很多。静态库是在编译时加载,动态库是在运行时加载。

相关文章

  • iOS里的动态库和静态库

    介绍 动态库形式:.dylib和.framework 静态库形式:.a和.framework 动态库和静态库的区别...

  • Xcode7中创建静态库

    一、静态库和动态库的区别: 静态库和动态库是相对编译期和运行期的,静态库以 .a 和 .framework 形式存...

  • 创建静态库

    一、静态库和动态库的区别: 静态库和动态库是相对编译期和运行期的,静态库以 .a 和 .framework 形式存...

  • 目录一、库二、静态库、动态库、Framework三、打包静态库 1、.a静态库和.framework静态库的区别 ...

  • iOS静态库与动态库的区别与打包

    iOS静态库与动态库的区别与打包iOS静态库与动态库的区别与打包

  • iOS 库.a 和 framework的区别

    一、什么是库? 共享代码便是库,实现代码的复用,一般分为静态库和动态库。 二、静态库和动态库的区别? 静态库:链接...

  • 静态库与动态库相关知识笔记(转)

    "静态库与动态库"参考静态库与动态库的区别与优缺点

  • iOS 创建静态库

    一、静态库和动态库的区别 静态库和动态库是相对编译期和运行期的,在存在形式上,静态库是以 .a 和 .framew...

  • iOS生成 .framework静态文件

    一、什么是库? 库是共享程序代码的方式,一般分为静态库和动态库。 二、静态库和动态库的区别? 静态库:链接时完整地...

  • iOS-SDK开发之制作自己的静态库 .framework和.a

    先来看几个概念定义: 什么是库?库是共享程序代码的方式,一般分为静态库和动态库。 静态库和动态库的区别?静态库:链...

网友评论

      本文标题:动态库和静态库的区别

      本文链接:https://www.haomeiwen.com/subject/weylpqtx.html