LLVM和clang

LLVM编译器架构

LLVM项目是一套工具的集合,它包括模块化、可复用的编译器及一些列工具链技术。
LLVM最开始是Low Level Virtual Machine的简称,但现在它并不是传统意义上的虚拟机。所以LLVM这个名字并非Low Level Virtual Machine的缩写,而是一个单词。

LLVM项目开始于伊利诺伊大学的一个研究项目,这个研究项目的目标是创造一个现代化、基于SSA编译策略同时支持静态编译和动态编译的编译器。此后LLVM项目成为一个包含多个子项目的大项目。

LLVM主要的子项目包括:

LLVM Core

兼容多种CPU的机器码生成库。

Clang

基于LLVM的一个C/C++/Objective C编译器,它的编译速度是GCC的三倍。

LLDB

基于LLVM的调试器,类似GDB

参考资料

http://llvm.org/
http://clang.llvm.org/

猜你喜欢

转载自www.cnblogs.com/weiyinfu/p/9192987.html