Swift 编译过程
20200531165818889.png20200531170203929.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
网友评论