Swift 的运行和编译
# Swift 的运行和编译
提示
Swift 是苹果开发的新一代 语言,并且已经开源。Swift 不仅可以在苹果电脑上运行也可以在 linux 上运行。除了在Xcode 上运行我们也可以用 SwiftC 、REPL以及Playground来运行和编译Swift代码
# Swiftc 命令行工具
# LLVM
LLVM 是一个系统语言编译器(比如 c++ , c, swift)
LLVM是一个自由软件项目,它是一种编译器基础设施,以C++写成,包含一系列模块化的编译器组件和工具链,用来开发编译器前端和后端。它是为了任意一种编程语言而写成的程序,利用虚拟技术创造出编译时期、链接时期、运行时期以及“闲置时期”的最优化。它最早以C/C++为实现对象,而当前它已支持包括ActionScript、Ada、D语言、Fortran、GLSL、Haskell、Java字节码、Objective-C、Swift、Python、Ruby、Rust等语言
- Swift 代码的执行的过程 Swift代码 -> 语法树 -> 中间代码 -> 转交给LLVM -> 汇编代码 -> 二进制代码 .png)
/// 将会生成一个叫 main 的可执行文件
swiftc -o hello.out hello.swift
/// 执行 main 的可执行文件
./hello.out
// hello world 打印出的结果
2
3
4
5
6
一些操作 生成语法树: swiftc -dump-ast main.swift 生成最简洁的SIL代码:swiftc -emit-sil main.swift (swift 特有的中间代码) 生成LLVM IR代码: swiftc -emit-ir main.swift -o main.ll 生成汇编代码: swiftc -emit-assembly main.swift -o main.s swift --help 以及 swiftc --help 来查看具体还有哪些参数可以使用
# REPL Swift 的交互式解释器
REPL (Read-Rval-Print Loop): REPL 环境可以让我们使用Swift 进行简单的交互式编程。类似于Python 在终端每输入一句语句就立即执行和输出。
# Playground 快速 运行 Swift
Playground 苹果开发出 macOS 系统快速执行和编译 swift 语言的 开发工具。
playground 功能:
- 可以快速 执行和编译 swift 代码不用 搭建复杂的 工程项目。
- 可以进行 编写文档, 类似于Markdown 但是可以执行相关代码。
- 可以开发较为复杂的项目,比如绘制图形曲线,和iOS相关的 UI绘制