美文网首页
ios 分析源码时可能会用到的一些指令

ios 分析源码时可能会用到的一些指令

作者: 90后的晨仔 | 来源:发表于2023-07-25 17:53 被阅读0次
1.oc查看源码使用的Clang命令行指令
// 假设原始文件为TestMain.m
// 预编译命令
clang -E TestMain.m -o TestMain.mi

// 生成AST语法树
clang -Xclang -ast-dump -fsyntax-only TestMain.m

// 生成IR中间代码
clang -S -emit-llvm TestMain.m -o TestMain.ll

// 生成IR中间代码并优化,
clang -o3 -S -emit-llvm TestMain.m -o TestMain.ll

// 如果开启bitcode,生成.bc文件,这也是中间码的一种形式
clang -emit-llvm -c TestMain.m -o TestMain.bc

// 产生汇编命令
clang -S TestMain.m -o TestMain.s

// 生成目标.o文件
clang -c TestMain.m -o TestMain.o
2. Swift查看源码使用的swiftc命令行指令
// 假设原始文件为TestMain.swift

// 分析输出AST
swiftc TestMain.swift -dump-parse

// 分析并且检查类型输出AST
swiftc TestMain.swift -dump-ast

// 生成中间体语言(SIL),未优化
swiftc TestMain.swift -emit-silgen -o TestMain.sil 

// 生成中间体语言(SIL),优化后的
swiftc TestMain.swift -emit-sil -o TestMain.sil 

// 生成优化后的中间体语言(SIL),并将结果导入到TestMain.sil文件中
swiftc TestMain.swift -emit-sil  -o TestMain.sil 

// 生成优化后的中间体语言(SIL),并将sil文件中的乱码字符串进行还原,并将结果导入到TestMain.sil文件中
swiftc TestMain.swift -emit-sil | xcrun swift-demangle > TestMain.sil

// 生成LLVM中间体语言 (.ll文件)
swiftc TestMain.swift -emit-ir  -o TestMain.ir

// 生成LLVM中间体语言 (.bc文件)
swiftc TestMain.swift -emit-bc -o TestMain.bc

// 生成汇编
swiftc TestMain.swift -emit-assembly -o TestMain.s

// 编译生成可执行.out文件
swiftc TestMain.swift -o TestMain.o 

相关文章

网友评论

      本文标题:ios 分析源码时可能会用到的一些指令

      本文链接:https://www.haomeiwen.com/subject/biehpdtx.html