美文网首页
Swift--类的生命周期

Swift--类的生命周期

作者: 冰棍儿好烫嘴 | 来源:发表于2021-12-29 15:47 被阅读0次

iOS开发的语言不管是OC还是Swift后端都是通过LLVM进行编译的,如下图:


  • OC通过clang编译器,编译成IR,然后再生成可执行文件.o(这里也就是我们的机器码)
  • Swift则是通过Swift编译器编译成IR,然后再生成可执行文件


//分析输出AST
swiftc main.swift -dump-parse
//分析并且检查类型输出AST
swiftc main.swift -dump-ast
//生成中间体语言(SIL),未优化
swiftc main.swift -emit-sligen
//生成中间体语言(SIL),优化后的
swiftc main.swift -emit-sil
//生成LLVM中间体语言(.ll文件)
swiftc main.swift -emit-ir
//生成LLVM中间体语言(.bc文件)
swiftc main.swift -emit-bc
//生成汇编
swiftc main.swift -emit-assembly
//编译生成可执行.out文件
swiftc -o main.o main.swift
SIL文件:
  • @main:入口函数
  • %0、%1、%2、%...寄存器(虚拟的)
Swift 对象内存分配:
  • __allocating_init---> swift_allocObject--->_swift_allocObject_--->swift_slowAlloc--->Malloc
  • Swift对象的内存结构HeapObject,有两个属性:一个是Metadata,一个是RefCount,默认占用16字节大小。oc对象的内存结构objc_object,只有一个属性isa

相关文章

  • Swift--类的生命周期

    iOS开发的语言不管是OC还是Swift后端都是通过LLVM进行编译的,如下图: OC通过clang编译器,编译成...

  • swift--类

    类的属性 1.存储属性:存储常量和变量 2.计算属性:通过某种方式计算出来的属性 3.类的属性:与整个类目相关联的...

  • swift--类

    iOS开发的语⾔不管是 OC 还是 Swift 后端都是通过 LLVM 进⾏编译的,如下图所示: 可以看到: OC...

  • Swift--类继承

    继承概念 构造函数继承 重写 类型检查与转换 在Swift中,类的继承只能是单继承,而多继承可以通过遵从多个协议实...

  • Swift4.0--一个好用的金融类游标卡尺

    Swift--一个好用的金融类游标卡尺 思路:使用UICollectionView制作一个游标卡尺,每一个cell...

  • The Awesome Raywenderlich.com: 经

    Swift--弹性动画--Swift Swift--CALayer 教程: Getting Started超棒的源...

  • Java类加载机制

    java类加载机制 类的生命周期 类的生命周期包括7个阶段:加载 、验证、准备、解析、初始化、使用和卸载 类的初始...

  • JAVA类加载器

    记录JVM里类加载的过程,我们写了那么多类,却不知道类的加载过程,岂不尴尬。??️ 类的生命周期类的生命周期包括加...

  • JAVA类加载机制

    类的生命周期 类的生命周期分为以下7个阶段:加载 -> 验证 -> 准备 -> 解析 -> 初始化 -> 使用 ...

  • Swift--类和结构体

    类是引用类型 类是引用类型,结构体和枚举是值类型 特征运算符 为了比较两个类实例是否是同一个实例,引入===和!=...

网友评论

      本文标题:Swift--类的生命周期

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