[swift]关于swiftc

460 阅读1分钟

API(Application Programming Interface): 应用程序编程接口 源代码和库之间的接口

ABI(Application Binary Interface):

  • 应用程序二进制接口
  • 应用程序与操作系统之间的接口 设计的内容有:目标文件格式,数据类型的大小/布局/对齐,函数的调用约定(例如传参等,有的平台是用栈穿参,有的是用寄存器穿参)等

编译器:

1:前端:词法分析 2:后端:生成平台对应的二进制代码

Screen Shot 2021-07-18 at 9.47.26 PM.png 导出语法树: Terminal执行swiftc -dump-ast *.swift Screen Shot 2021-07-19 at 7.27.28 PM.png

  • 生成最简洁的SIL代码:swiftc -emit-sil main.swift
  • 生成LLVM IR代码:swiftc -emit-ir main.swift -o main.ll
  • 生成汇编代码: swiftc -emit-assembly main.swift -o main.s