1.安装cmake
a.去cmake官网https://cmake.org/download/下载,我这里下载的是cmake-3.9.1-Darwin-x86_64.dmg安装包。
b.安装完成后,在终端里边输入cmake指令,提示-bash: cmake: command not found,在终端输入如下指令即可:
export PATH=/Applications/CMake.app/Contents/bin:$PATH(其中:/Applications/CMake.app/Contents/bin为CMake中bin目录的路径)
2.安装LLVM
a. 找一个你想安装LLVM的目录,我这里的目录为: /Users/louis/LLVM
b. cd /Users/louis/LLVM
c. svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
3.安装Clang
a. cd llvm/tools
b. svn co http:llvm.org/svn/llvm-project/cfe/trunk clang
c. cd ../..
4.安装额外的Clang工具(可选的)
a. cd llvm/tools/clang/tools
b. svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
c. cd ../../../..
5.其他可选安装项,参考如下网址:
http://clang.llvm.org/get_started.html
6.编译LLVM和Clang
a. cd/Users/louis/LLVM
b. mkdir build
c. cd build
d. Debug和Release
cmake -G "Unix Makefiles" ../llvm (Debug版本,特别大,大概20多个G)
cmake -DCMAKE_BUILD_TYPE:String=Release ../llvm/(Release版本)
e. make
f. export PATH=/Users/louis/LLVM/build/bin:$PATH
7.测试
a. 创建test.c文件,如下:
#include <stdio.h>
int main() {
printf("hello llvm\n");
return 0;
}
b. 编译可执行文件,如下:
clang test.c -o test
c. 生成LLVM字节码文件
clang -03 -emit-llvm test.c -c -o test.bc
d. 生成LLVM可视化字节码文件
clang -03 -emit-llvm test.c -S -o test.ll
e. 运行可执行文件
./test
f. 运行字节码文件
lli test.bc
g. 反汇编字节码文件
llvm-dis < test.bc | less
h. 编译字节码为汇编文件
llc test.bc -o test.s
附:参考文献
1. http://blog.csdn.net/snsn1984/article/details/8593380
2. http://clang.llvm.org/get_started.html
3. http://www.nagain.com/activity/article/4/
4. http://www.xuebuyuan.com/2108593.html