当前位置: 首页 > wzjs >正文

小学网站怎么做网络营销服务商

小学网站怎么做,网络营销服务商,网站后台界面,做网站多少钱西宁君博正规这是面试时候碰到的一个问题,当时问的脑子糊糊的........ 动态库和静态库的定义 Library是计算机程序使用的非易失性资源集合,包含源代码。iOS、macOS上大部分library都会包含源码,支持一种或多种架构。Library可以被静态链接,称…

这是面试时候碰到的一个问题,当时问的脑子糊糊的........

动态库和静态库的定义

Library是计算机程序使用的非易失性资源集合,包含源代码。iOS、macOS上大部分library都会包含源码,支持一种或多种架构。Library可以被静态链接,称为静态库(static library);也可以被动态链接,称为动态库(dynamic library)。

静态库命名格式通常为lib*.a,动态库命名格式为*.dylib

静态库

• 编译时直接链接到可执行文件,最终的 .ipa 包会包含整个库文件。

• 代码和资源一起打包进 APP,不需要额外加载,运行时不依赖外部库。

动态库(对于动态库,如果是官方的库文件,比如UIKit,SwiftUI等等,ios只会在app中共用一份,全部app都通过动态链接查找,但对于第三方库,由于ios的沙盒机制,所以即使是一样的库,也不能在应用程序之间共享):

• 不直接编译到可执行文件

·ipa打包出来属于单独的模块,在运行时加载

两种链接方式:静态链接和动态链接

静态链接发生在创建App的时候,构建时,静态链接器从库中找API,复制进二进制执行文件中,会影响App的大小

动态链接发生在App启动时候,静态链接器把库运行路径记录在App中,启动时从动态库中去查找,会影响App的启动时间(启动不再只是加载一个程序文件,动态库也需要加载并连接到一起) 

下面从可执行文件大小、对app启动的影响、安全性、独立部署四个方面对比动态库、静态库。

可执行文件大小

  • 静态库的可执行文件大。使用静态库时,链接器会将静态库代码拷贝到可执行文件中,静态库成为可执行文件的一部分。
  • 动态库的可执行文件小。在启动时或运行时,将动态库代码加载到内存,动态库不会成为可执行文件的一部分,因此,使用动态库的可执行文件较小。

启动耗时

  • 静态链接启动速度快。所有符号都在同一个模块内,没有符号绑定的耗时,启动速度快。但二进制文件太大,启动时占用内存也会多,太多的page fault也会增加启动耗时。
  • 动态链接启动慢,尤其在iOS中。Apple在WWDC中推荐iOS app最多使用六个动态库,macOS没有说明。这一推荐值随硬件性能变化而变。

安全性(运行时是否会查找不到符号)

  • 静态链接是安全的。因为编译时会将静态库符号拷贝到可执行文件中,不会出现查找不到符号。
  • 有风险。尽管编译器会进行验证,但可能由于开发忘记嵌入而导致Library not loaded ... Reason: image not found。macOS中app之间可以共享动态库,可能因为动态库版本差异导致找不到符号。

独立部署

  • 静态库不支持独立部署。所有内容都在一个二进制文件中提供,无法仅部署部分依赖。
  • 动态库:
    • iOS禁止部署单独库、框架。
    • 如果模块安装到了共享位置,macOS支持部署单独的库、框架。

总上所述说:动态库对Build影响小,但启动的时候的时候需要加载,会使启动时间变慢(ios有启动缓存机制,即这次启动会缓存动态链接的过程)。静态库太多,二进制文件就会很大,迭代构建/调试周期就会变慢。

对于动态链接的优化,我们还有使用可合并库来进行优化,具体可以看认识可合并库 - WWDC23 - 视频 - Apple Developer

参考:Link fast: Improve build and launch times - WWDC22 - Videos - Apple Developer

https://github.com/pro648/tips/blob/master/sources/%E9%9D%99%E6%80%81%E5%BA%93%E5%92%8C%E5%8A%A8%E6%80%81%E5%BA%93%E5%AF%B9%E6%AF%94.md

http://www.dtcms.com/wzjs/451367.html

相关文章:

  • 淘宝做任务赚钱网站手机怎么在百度上发布信息
  • 做网站有什么专业术语一个平台怎么推广
  • 自己做网站用软件下载搜索软件
  • 怎么做网站页面模板网络推广入门教程
  • 设计网站的步骤有哪些电脑培训班电脑培训学校
  • 做珠宝建个网站推广怎么样深圳seo外包公司
  • 衢州建设职业学校网站上海优化公司选哪个
  • 世界杯 网站模板杭州seo排名
  • 建设网站用户名镇江网站建设推广
  • 校园门户网站 建设宁波seo网站推广软件
  • 泰安最好的网站建设公司新闻稿范文
  • 腾讯建站官网河南网站建设
  • 百度快速收录软件seo网站优化多少钱
  • amazon独立网站怎么做seo免费浏览网站
  • 商丘柘城做网站搜索引擎优化怎么做的
  • 网站建设冷色调海淀网站建设公司
  • 做影视网站算侵权吗seo推广的公司
  • 学做网站论坛线上营销策略
  • 跑腿网站开发网络营销到底是个啥
  • 设计专业新手网站市场推广怎么写
  • 做网站卖电脑重庆seo教程
  • 海曙区住房和建设局网站我要发布信息
  • 什么网站专门做外贸批发产品网络营销策划方案
  • 企业网站建设网站吸引人的软文标题
  • 桐庐县建设局网站百度服务
  • 浙江网商银行股份有限公司福州短视频seo
  • 问答系统网站建设百度官网电话
  • 公司名称大全四个字韩国seocaso
  • 新网站一直不被收录长尾词排名优化软件
  • 软件技术基础seo综合查询站长工具