关于使用 LLVM 进行 C 代码插桩的一些命令总结

把 .c 文件转为 .bc 文件

clang -emit-llvm -c hello.c

把 .c 文件转为 .ll 文件

clang -emit-llvm -S hello.c

把 .c .bc .ll 文件转为可执行文件

clang hello.c
clang hello.bc
clang hello.ll

把所有的 .ll 文件链接成一个大的 .ll 文件

llvm-link <所有的.ll文件> -o <大的.ll 文件> -S

不要尝试把 .ll 文件集成一个 archive,再给 llvm-link 链接,目前的 LLVM 工具链对这个东西的支持并不完整(来源:https://stackoverflow.com/questions/18976242/is-it-possible-to-link-bitcode-with-llvm-ar-archieve-into-a-single-bitcode-file)

你可能感兴趣的:(个人开发)