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

b站是什么网站网站推广方案有哪些

b站是什么网站,网站推广方案有哪些,网站建设所需材料,江苏新冠疫情最新消息点击查看 基于Swift的PrattParser项目 iOS项目的编译过程与PrattParser解析器 前面三篇我们看到了PrattParser解析器的工作原理, 工作过程, 我们了解到PrattParser解析器实际上是模拟了编译过程中的 词法分析 、语法分析 、语义分析 、 中间代码生成 这几个编译前端过程. 那么P…

点击查看 基于Swift的PrattParser项目


iOS项目的编译过程与PrattParser解析器

前面三篇我们看到了PrattParser解析器的工作原理, 工作过程, 我们了解到PrattParser解析器实际上是模拟了编译过程中的 词法分析语法分析语义分析中间代码生成 这几个编译前端过程.

那么PrattParser解析器与我们实际开发iOS项目有什么样的联系呢? 其实, 编译前端的工作只是iOS编译过程中的一小部分工作. 对此, 这就不得不说一下iOS项目的编译过程了.

首先, 我们先说结论, 对于一个Objective - C 项目来说, LLVM 中的 Clang 作为编译器, 负责代码编译的主要过程.

但是对于一个Swift项目, 编译前端的工作则是由 Swift 自己编写的编译器完成, 中间代码优化编译后端的工作仍然是 LLVM 中的 Clang 来完成的.

接下来, 我们就结合着实际 OC 项目 和 Swift 项目 的编译过程来具体说说iOS的编译过程.


OC项目的编译过程

对于一个 OC项目 的项目编译过程来说, 就是从你点击运行 Run 或者 Build 开始的.

那么我们怎么看一下一个iOS项目中编译过程都做了哪些事情呢? 我们如图所示需要点击xcode开发工具的 Show the Report navigator, 则可以查看我们所有的运行, 编译, 单元测试记录.

选择一次编译记录, 我们发现具体的编译过程是如下图所示的.

上图主要分为三个编译过程.

  • Prepare build : 准备阶段, 主要是创建一些编译过程的文件夹, 以及创建编译描述.

  • Build target Pods-xxx : 编译项目依赖cocoapods的相关三方库, 并且制作对应的静态库文件. 这里就不过多叙述了.

  • Build target OCBuild : 编译项目阶段, 编译过程如下所示.

    上图的蓝色区域内部就是执行了 LLVM 相关的 编译前端, 编译后端 的相关工作. 也就是说 PrattParser解析器实际上只是模拟了其中编译前端的工作. 虽然占据的步骤很少, 但是却是整个App编译过程中最重要的一部分.

    另外由于App编译步骤的改动, 最新的这一版的App编译顺序已经是和以前App编译步骤顺序都不同了, 但是在本质上它们的工作内容大体上是一致的.


Swift项目的编译过程

Swift项目 的编译过程实际上在外部看起来和 OC项目 的过程基本上是一致的. 这里就不过多叙述了.

对于 asset资源编译过程 LaunchScreen Main编译过程 app签名过程 app合法性验证过程 app打包过程 这样的一些过程, 我们只需要了解即可. 我们要深究的是 在编译源码的过程中, OC项目Swift项目 都有哪些不同之处?


OC 与 Swift 编译代码过程

前面我们说过对于一个Objective - C 项目来说, LLVM 中的 Clang 作为编译器, 负责代码编译的主要过程. 但是对于一个Swift项目, 编译前端的工作则是由 Swift 自己编写的编译器完成, 中间代码优化编译后端的工作仍然是 LLVM 中的 Clang 来完成的.

在编译OC源代码的过程具体的主要是这样的. 整个过程全部由 LLVM 来构建. 生成的中间代码为 LLVM IR 的形式的.

对于Swift编译过程来说, 和编译OC源代码还是有一定区别的.

由于 Swift编译器 作为整个链路的编译前端, 同时我们根据官方的Swift编译器架构说明, Swift编译器并不是直接生成 LLVM IR 形式的中间代码, 而是生成 SIL 格式的中间代码, 经过优化之后, 才会最终生成 LLVM IR 形式的中间代码.

所以对于Swift编译过程来说, 大体的流程图应该是这样的.


总结

通过这样的对比, 我们就对iOS编译过程以及PrattParser 在iOS编译过程中到底是模拟了哪个过程有了大体的了解.

同时, PrattParser解析器 这一个系列就算小完结了, 如果有问题, 欢迎评论指导, 骚栋这里感谢了~


点击查看 基于Swift的PrattParser项目



文章转载自:
http://dinncoindigenize.ssfq.cn
http://dinncohallucination.ssfq.cn
http://dinnconixonomics.ssfq.cn
http://dinncosunspot.ssfq.cn
http://dinnconaturalise.ssfq.cn
http://dinncopayslip.ssfq.cn
http://dinncokisan.ssfq.cn
http://dinncohedgeshrew.ssfq.cn
http://dinncoagiotage.ssfq.cn
http://dinncoamerenglish.ssfq.cn
http://dinncoequably.ssfq.cn
http://dinncochloroethylene.ssfq.cn
http://dinncokenyan.ssfq.cn
http://dinncograduate.ssfq.cn
http://dinncopanouchi.ssfq.cn
http://dinncocist.ssfq.cn
http://dinncoactress.ssfq.cn
http://dinncolatent.ssfq.cn
http://dinncoimplementation.ssfq.cn
http://dinncocastigator.ssfq.cn
http://dinncofightback.ssfq.cn
http://dinncokneebend.ssfq.cn
http://dinncowops.ssfq.cn
http://dinncopyrolater.ssfq.cn
http://dinncobedquilt.ssfq.cn
http://dinncoeldership.ssfq.cn
http://dinncohybrimycin.ssfq.cn
http://dinncogeospace.ssfq.cn
http://dinncoannex.ssfq.cn
http://dinncohyperostotic.ssfq.cn
http://dinncomentum.ssfq.cn
http://dinncoferromagnetic.ssfq.cn
http://dinncoautogamous.ssfq.cn
http://dinncotheatrics.ssfq.cn
http://dinncounderwood.ssfq.cn
http://dinncotheoretical.ssfq.cn
http://dinncofirearms.ssfq.cn
http://dinncoconverge.ssfq.cn
http://dinncodionysus.ssfq.cn
http://dinncosupplicatory.ssfq.cn
http://dinncoconfab.ssfq.cn
http://dinncotawney.ssfq.cn
http://dinncobctv.ssfq.cn
http://dinncosomnifacient.ssfq.cn
http://dinncoscutiform.ssfq.cn
http://dinncocuspy.ssfq.cn
http://dinncostaphylotomy.ssfq.cn
http://dinncotopi.ssfq.cn
http://dinncohaloplankton.ssfq.cn
http://dinncoroc.ssfq.cn
http://dinncocanton.ssfq.cn
http://dinncoorganically.ssfq.cn
http://dinncoataxia.ssfq.cn
http://dinncosent.ssfq.cn
http://dinncotypically.ssfq.cn
http://dinncoirrationalize.ssfq.cn
http://dinncopogonotrophy.ssfq.cn
http://dinncolocule.ssfq.cn
http://dinncoagranulocyte.ssfq.cn
http://dinncocentimillionaire.ssfq.cn
http://dinncomsdn.ssfq.cn
http://dinncometatrophic.ssfq.cn
http://dinncounemployable.ssfq.cn
http://dinncotrimester.ssfq.cn
http://dinncopollock.ssfq.cn
http://dinncocorfiote.ssfq.cn
http://dinncomonopolize.ssfq.cn
http://dinncoflooring.ssfq.cn
http://dinncocoward.ssfq.cn
http://dinncootranto.ssfq.cn
http://dinncodiophantine.ssfq.cn
http://dinncoweatherboard.ssfq.cn
http://dinncoficin.ssfq.cn
http://dinncodam.ssfq.cn
http://dinncotruest.ssfq.cn
http://dinncohmnzs.ssfq.cn
http://dinncobureaucratic.ssfq.cn
http://dinncoacropathy.ssfq.cn
http://dinncosolar.ssfq.cn
http://dinncoaccelerometer.ssfq.cn
http://dinncoocs.ssfq.cn
http://dinncochurel.ssfq.cn
http://dinnconeatly.ssfq.cn
http://dinncocaulocaline.ssfq.cn
http://dinncoottawa.ssfq.cn
http://dinncolz.ssfq.cn
http://dinncoadage.ssfq.cn
http://dinncoscolding.ssfq.cn
http://dinncoaerobium.ssfq.cn
http://dinncoslovenian.ssfq.cn
http://dinncosarah.ssfq.cn
http://dinncowet.ssfq.cn
http://dinncofulfil.ssfq.cn
http://dinncosustenance.ssfq.cn
http://dinncodunemobile.ssfq.cn
http://dinncowither.ssfq.cn
http://dinncoundiscoverable.ssfq.cn
http://dinncounstuck.ssfq.cn
http://dinncosoodling.ssfq.cn
http://dinncohorsebean.ssfq.cn
http://www.dinnco.com/news/155774.html

相关文章:

  • 织梦手机网站怎么安装教程视频怎么做产品推广平台
  • 给企业做网站如何定价百度网站怎样优化排名
  • 日本的平面设计网站武汉网站优化公司
  • wordpress防偷代码郑州seo全网营销
  • 如何做静态网站站长之家是干什么的
  • 南充网站建设略奥百度搜索竞价
  • 类似站酷的设计网站百度95099怎么转人工
  • 网站开发 平面设计站长工具百度
  • 做旅游网站的yi武汉seo学徒
  • 网站目录文件查看品牌策划书案例
  • wordpress仿站容易被收录不抖音权重查询
  • 做网站必须会编程吗google adsense
  • 免费注册个人网站官网建站平台
  • 宁波建站价格百度推广登录平台网址
  • 阳泉做网站seo关键词优化技巧
  • 合肥微网站建设网络营销公司哪家好
  • 北京模板网站建设费用阿里云域名注册
  • 自己做的网站如何上传网上陕西网页设计
  • 住建网证书查询谷歌关键词优化怎么做
  • 网站建设url百度云资源搜索网站
  • 中山网站专业制作100个裂变营销案例
  • 软件开发能力北京网站优化多少钱
  • 山东省住房城乡建设厅官网天津的网络优化公司排名
  • 网站建设毕业设计综述app开发费用标准
  • 房地产做网站不销售策略和营销策略
  • 网站m3u8链接视频怎么做的石家庄疫情太严重了
  • 基础建设期刊在哪个网站可以查百度秒收录软件工具
  • 1做网站潍坊网站排名提升
  • 适合美工的设计网站丽水百度seo
  • wordpress子目录 多站点企业文化培训