swift
文件到可执行文件.o
的整个编译过程。在当前文件路径下使用该命令:
// 单纯转换sil
swiftc -emit-sil main.swift > ./main.sil
// 反解sil中混淆的字符串
xcrun swift-demangle s4main1tAA10TeachModelCvp
// 完整版
swiftc -emit-sil `文件名`.swift | xcrun swift-demangle > `文件名`.sil && open `文件名`.sil
cpp
文件,sil
、cpp
都是编译之后的产物sil
可以更加深刻的理解swift的一些内部机制。对于学习swift很有帮助。swiftc -dump-ast main.swift ast抽象语法树
sil
的上一步生成的文件,主要是做一些语法、词法的分析。