swift-获取sil、ast编译中间产物文件swift-获取sil、ast编译中间产物文件

2021-08-09 11:23:26 浏览数 (1)

获取sil文件

  • swift文件到可执行文件.o的整个编译过程。
  • swift编译过程参考

在当前文件路径下使用该命令:

代码语言:javascript复制
// 单纯转换sil
swiftc -emit-sil main.swift > ./main.sil
// 反解sil中混淆的字符串
xcrun swift-demangle s4main1tAA10TeachModelCvp
// 完整版
swiftc -emit-sil `文件名`.swift | xcrun swift-demangle > `文件名`.sil  && open `文件名`.sil
  • sil文件相当于OC探索中的cpp文件,silcpp都是编译之后的产物
  • sil语法官方文档,阅读sil可以更加深刻的理解swift的一些内部机制。对于学习swift很有帮助。
获取ast抽象语法树
代码语言:javascript复制
swiftc  -dump-ast main.swift ast抽象语法树
  • 这是在sil的上一步生成的文件,主要是做一些语法、词法的分析。

0 人点赞