在Mac OS上的安裝
通過命令:
brew install llvm
llvm會(huì)被安裝在/usr/local/opt/llvm的路徑下劫狠。
打開~/.bash_profile文件呐矾,添加環(huán)境變量:
export PATH="/usr/local/opt/llvm/bin:$PATH"
使用source ~/.bash_profile
使.bash_profile文件文件生效
輸入llvm-dis --version
測試
llvm工具鏈的使用
創(chuàng)建一個(gè)C語言文件test.c
#include <stdio.h>
int main() {
printf("hello world\n");
return 0;
}
編譯生成可執(zhí)行文件:
clang test.c -o test
運(yùn)行可執(zhí)行文件:
test
生成llvm字節(jié)碼文件:
clang -O1 -emit-llvm test.c -c -o test.bc
生成LLVM 的匯編代碼 .ll 文件(可視化字節(jié)碼文件)
clang -O1 -emit-llvm test.c -S -o test.ll
運(yùn)行字節(jié)碼文件:
lli test.bc
結(jié)果: "hello world"
.ll文件也可以用lli來執(zhí)行
將 .bc 文件轉(zhuǎn)化為 .ll 文件:
llvm-dis test.bc
將 .ll 文件轉(zhuǎn)化為 .bc 文件:
llvm-as test.ll
編譯字節(jié)碼文件為匯編文件:
llc test.bc -o test.s
將 .bc 或 .ll 文件轉(zhuǎn)化為本機(jī)平臺(tái)的匯編代碼:
llc test.bc
llc test.ll
參考鏈接:
https://blog.konghy.cn/2015/08/20/llvm-abstruct/
http://www.nagain.com/activity/article/4/