API(Application Programming Interface): 应用程序编程接口 源代码和库之间的接口
ABI(Application Binary Interface):
- 应用程序二进制接口
- 应用程序与操作系统之间的接口 设计的内容有:目标文件格式,数据类型的大小/布局/对齐,函数的调用约定(例如传参等,有的平台是用栈穿参,有的是用寄存器穿参)等
编译器:
1:前端:词法分析 2:后端:生成平台对应的二进制代码
导出语法树:
Terminal执行swiftc -dump-ast *.swift
- 生成最简洁的SIL代码:swiftc -emit-sil main.swift
- 生成LLVM IR代码:swiftc -emit-ir main.swift -o main.ll
- 生成汇编代码: swiftc -emit-assembly main.swift -o main.s