iOS环境下SDK、静态库和动态库简介

移动应用


浏览:431 次

在iOS开发中,我们称SDK为“库”。我们将其定义如下:一般来说,它是为app提供公共服务并独立运行的程序的集合;

它们通常经过编译,易于使用。

我们将根据其调用方法将库分为“静态库”和“动态库”:

静态连接:通常指在创建app时集成库。这样做的优点是app包本身可以独立运行,而缺点是包会稍微膨胀,并且无法共享库;

动态连接:创建app时,只同意与库的调用关系,但库包未完全集成到app中。这样,当app运行时,需要在运行环境中提供库并连接以进行加载。与静态库相反,动态链接库需要库环境,但由于它们不集成库内容,因此相对较小,这也使得可以与其他app共享库。

特别注意:我们经常说的框架(在苹果)是Cocoa/Cococa-Touch程序中使用的一种资源打包方法。它可以集中代码文件、头文件、资源文件和文档供开发人员使用。也就是说,我们的框架实际上是一种打包资源的方式,这与静态库和动态库的性质无关。

静态库和动态库的区别如果你想找出静态库和静态库的区别,可以从文件链接的角度来解释(每个源代码模块都是独立编译的,然后根据需要进行组装。组装模块的过程称为链接):

静态库:链接时,它将被完全复制到可执行文件中。因此,如果两个程序使用一个静态库,每个二进制可执行文件将包含静态库的代码;

动态库:链接时不复制,而是在程序启动后动态加载,然后执行符号解析(符号绑定)。理论上,只能存在一个动态库。其他程序可以动态链接到这个动态库以节省内存(内存中只有一个动态库)。另一个优点是,由于动态库不绑定到可执行程序,所以我们很容易升级动态库。Windows和Linux上的通用插件和模块机制是以这种方式实现的。

统软云是一家专业和服务提供商,提供一站式移动应用解决方案,以满足您的各种需求。欢迎评估您的需求并免费获取报价。

相关资讯:
农产品电子商务向企业个人农产品电子贸易方向发展的效益

农产品电子商务向企业个人农产品电子贸易方向发展的效益

查看
Web 3.0技术的基本方向

Web 3.0技术的基本方向

查看
认知

认知

查看
面向对象的

面向对象的

查看
2018-12-25

2018-12-25

查看