Swift 编译过程

Swift 编译过程

20200531165818889.png

20200531170203929.png

LLVM:LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本。

swiftc 是 swift 语言的编译工具,它可以直接把 .swift 文件编译生成可执行文件,也可以产生编译过程中某个中间文件
swiftc的编译过程

编译

swiftc -o main.out main.swift

生成抽象语法树(Swift Abstract Syntax Tree【AST】)

swiftc main.swift -dump-ast

生成中间语言(Swift Intermediate Language【SIL】)

swiftc main.swift -emit-sil

生成中间表示层的语言(LLVM Intermediate Representation【LLVM IR】)

swiftc main.swift -emit-ir

生成汇编语言(Assembly Language)

swiftc main.swift -emit-assembly

swiftc常见命令

*生成可执行文件 swiftc -o main.out main.swift
*生成抽象语法树的命令(AST) swiftc main.swift -dump-ast
*生成中间语言(SIL)swiftc main.swift -emit-sil
*LLVM中间表示层(LLVM IR)swiftc main.swift -emit -ir
*生成汇编语言 swiftc main.swift -emit-assembly

你可能感兴趣的:(Swift 编译过程)