安装LLVM+Clang教程

目录

前言

一、LLVM简介

二、LLVM+Clang的安装


前言

最近可能要学习编译器相关的知识,因此总结一下LLVM的安装方法,以防忘记如何安装。

接下来就是正式的安装过程了。。。

------------------------------------------------------------分割线---------------------------------------------------------------------------------------------------

一、LLVM简介

LLVM是Low Level Virtual Machine 的缩写,它源自于伊利诺伊大学的一个开源研究项目,旨在提供一种现代化的编译机制,使得对于任何的语言既可以做到静态编译也可以动态编译,并且非常高效。后来LLVM孵化了很多的子项目,例如:Clang,LLDB,OpenMP等。

静态编译:编译器在编译可执行文件时,把需要用到的对应动态链接库(.so或.ilb)中的部分提取出来,链接到可执行文件中                    去,使可执行文件在运行时不需要依赖于动态链接库

动态编译:动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。所以其                     优点一方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。缺点一是哪怕是很                     简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其他计算机上没                     有安装对应的运行库,则用动态编译的可执行文件就不能运行。

LLVM由三部分组成:

第一部分是LLVM套件,它包含有LLVM所需的所有工具、库函数、和头文件,汇编器、反汇编器、bitcode(一种中间代码)分析器和优化器,以用来测试LLVM和Clang前端的基本回归测试。

第二部分是Clang前端,它将C/C++,Object C和Object C++代码编译成LLVM的中间代码(bitcode),一旦编译成LLVM bitcode,就可以使用LLVM的套件中的LLVM工具来进行操作了。

第三部分是测试集合,这是一个可选部分。它是一套能用来进一步测试LLVM功能和性能的程序。

二、LLVM+Clang的安装

准备工作

LLVM官方是用svn进行版本控制的,因此我们需要安装svn来获取源码。

安装过程中会用到cmake工具来生成Makefile,需要先安装cmake。

sudo apt-get install subversion
sudo apt-get install cmake

构建安装目录

#创建一个目录用来存放llvm源码
mkdir /tmp/llvm_source_build

下载LLVM核心源代码

#下载llvm代码
cd /tmp/llvm_source_build
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm

此时在/tmp/llvm_source_build目录下就会有一个llvm目录。

下载Clang源码

在/tmp/llvm_source_bulid/llvm/tools目录下下载clang。

#下载Clang源码
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang

下载 Clang 工具源码(可选)

cd llvm/tools/clang/tools
svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra

下载Compiler-RT 源码(可选)

cd llvm/projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt

还有一系列的可选项可以下载安装,这些并不主要,若需要可以查看参考文献2。

配置和安装LLVM+Clang

首先返回到/tmp/llvm_source_build目录下,新建一个build目录。

#新建build目录
cd /tmp/llvm_source_build
mkdir build

使用之前安装的cmake得到Makefile文件

cd /build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86" -DCMAKE_INSTALL_PREFIX=/opt/llvm ../llvm

上面的-CMAKE_INSTALL_PREDIX=/opt/llvm 表示要安装的目录。

得到Makefiile文件之后几可以进行编译和安装了

make -j 8
sudo make install

最后还需要配置一下环境变量。

#配置一下环境变量
vim /etc/profile
#在末尾添加
export PATH=$PATH:/opt/llvm/bin

参考文献:

1.https://www.xuebuyuan.com/3122442.html

2.http://llvm.org/docs/GettingStarted.html

3.https://www.jianshu.com/p/861c1a630059

猜你喜欢

转载自blog.csdn.net/l2563898960/article/details/82871826