最近需要使用bitcode所以来了解一下llvm
简介
LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本。
Clang
Clang是一个C++编写、基于LLVM、发布于LLVM BSD许可证下的C/C++/Objective-C/Objective-C++编译器。
安装
安装cmake
1 | sudo apt install cmake |
参考:llvm+clang安装
注意sudo make -j 8,8指的是内核数,想要用几个改成几个即可,比如我是单核虚拟机,就改成1
使用
1 | clang -emit-llvm -o double.bc -c double.c |
bitcode
Bitcode是LLVM编译器的中间代码的一种编码,LLVM的前端可以理解为C/C++/OC/Swift等编程语言,LLVM的后端可以理解为各个芯片平台上的汇编指令或者可执行机器指令数据,那么,BitCode就是位于这两者直接的中间码.
wllvm
wllvm是对llvm的封装,可以把代码编译成binary的同时,给binary附加一个bitcode段
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 0bs3rver的小屋!