Advertisement

llvm编译器及其工具链

阅读量:

LLVM 编译器和工具链技术
LLVM概述
LLVM项目是模块化和可重用的编译器和工具链技术的集合。尽管名称如此,LLVM与传统虚拟机几乎没有关系。LLVM本身不是首字母缩略词,项目的全名。
LLVM开始是作为伊利诺大学的一个研究项目,提供提一个现代化的、基于SSA编译策略的、同时支持静态和动态编译,任何编程语言的编译器架构。LLVM已经发展成为一个由多个子项目组成的总体项目,其中许多子项目正在被各种商业和开源项目用于生产环境,广泛用于学术研究。LLVM项目中的代码均是以“Apache 2.0 License with LLVM exceptions”许可证进行许可进行发布。
LLVM的主要子项目
项目与概述
LLVM Core libraries:LLVM内核库提供一个现代化的、与源代码和目标机器无关的优化器,提供一个支持主流CPU(以及一些不常见的!)目标代码生成器。
LLVM内核库是围绕着一个被很好的定义的、被称作LLVM中间表示的代码表示(”LLVM IR”)的代码表示展开的。
LLVM内核库拥有优秀的文档,使用LLVM作为优化器和代码生成器,使得发明新语言(或者移植现有的编译器)变得十分简单。
Clang:Clang是一个”LLVM原生”C/C++/Objective-C编译器,旨在提供惊人的快速编译(例如,在调试配置中编译Object

全部评论 (0)

还没有任何评论哟~