美文网首页
Swift编译原理

Swift编译原理

作者: iOS寻觅者 | 来源:发表于2024-02-24 09:22 被阅读0次

    1、LLVM编译器

    LLVM编译器一般分为前端和后端

    前端:主要进行词法分析,生成语法树
    后端:生成对应平台的二进制代码

    编译流程

    我们知道OC的前端是通过Clang进行编译的,Swift的前端是通过swiftc来编译的
    不同语言的前端可能不同,但最终都会通过编译器的后端生成对应平台的二进制代码


    image.png

    swift整个编译流程如下图所示

    image.png

    Swift Code:我们编写的Swift代码
    Swift AST:Swift语法树
    Raw Swift IL:Swift特有的中间代码
    Canonical Swift IL:更简洁的Swift特有的中间代码
    LLVM IR:LLVM的中间代码
    Assembly:汇编代码
    Executable:二进制代码
    详细讲解可以参考以下网址:https://swift.org/swift-compiler/#compiler-architecture

    2、swiftc的基本操作演练:下面我们可以通过一些swiftc的一些基本操作来了解

    1.我们先新建一个Swift的命令行项目

    image image

    2.然后打开终端,cd到main.swift路径
    3.然后我们输入swiftc -dump-ast main.swift,来查看下生成的语法树
    4.我们还可以输入swiftc -emit-sil main.swift生成最简洁的SIL代码
    5.我们还可以输入swiftc -emit-ir main.swift生成LLVM IR中间代码
    6.我们还可以输入swiftc -emit-assembly main.swift生成汇编代码

    相关文章

      网友评论

          本文标题:Swift编译原理

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