环境配置:Ubuntu-16.04
1) 下载依赖
sudo apt
-get install cmake
sudo apt
-get install xz
-utils
sudo apt
-get install build
-essential
sudo apt
-get install wget
2) 下载源码 && 解压
# 下载
wget https
://github
.com
/llvm
/llvm
-project
/releases
/download
/llvmorg
-8.0.1/llvm
-8.0.1.src
.tar
.xz
wget https
://github
.com
/llvm
/llvm
-project
/releases
/download
/llvmorg
-8.0.1/cfe
-8.0.1.src
.tar
.xz
# 解压缩
tar xvf llvm
-8.0.1.src
.tar
.xz
mv llvm
-8.0.1.src llvm
tar xvf cfe
-8.0.1.src
.tar
.xz
mv cfe
-8.0.1.src llvm
/tools
/clang
3) 编译 && 安装
这里在内存及硬盘充足的条件下,推荐Debug配置的编译,这更能让你体验"较大的项目"的编译过程。否则请采用Release配置的编译
强烈推荐release,因为debug配置会占用90G空间,而release只需要10G
mkdir llvm
-build
&& cd llvm
-build
# Release
cmake
../llvm
-DCMAKE_BUILD_TYPE
=Release
-DCMAKE_INSTALL_PREFIX
=`cd
.. && pwd`
/llvm
-install
# Debug
cmake
../llvm
-DCMAKE_BUILD_TYPE
=Debug
-DCMAKE_INSTALL_PREFIX
=`cd
.. && pwd`
/llvm
-install
# Install
make install
4) 配置环境变量
sudo gedit
~/.profile(or
.bashrc
)
在打开的文件末尾加上下面的内容,保存修改并重启虚拟机。
export PATH
="$HOME/llvm-8.0.1/llvm-install/bin:$PATH"
在终端输入llvm-config --version,出现8.0.1表示编译并安装成功。
5) 新建gcd.c
int gcd
(int u
, int v
) {
if (v
== 0) return u
;
else return gcd(v
, u
- u
/ v
* v
);
}
int main() {
int x
; int y
; int temp
;
x
= 72;
y
= 18;
if (x
<y
) {
temp
= x
;
x
= y
;
y
= temp
;
}
return gcd(x
,y
);
}
6) 测试
$ clang
-S
-emit
-llvm gcd
.c
$ lli gcd
.ll
$ echo $
?
输出结果应为18