LLVM是构架编译器(comPILer)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(Idle-time),对开发者保持开放,并兼容已有脚本。
LLVM计划启动于2000年,最初由UNiversIty of Illinois at Urbana-Champaign的Chris Lattner主持开展。2006年Chris Lattner加盟Apple Inc.并致力于LLVM在Apple开发体系中的应用。Apple也是LLVM计划的主要资助者。
对关注编译技术的开发人员,LLVM提供了很多优点:
现代化的设计
LLVM的设计是高度模块化的,使得其代码更为清晰和便于排查问题所在。
语言无关的中间代码
一方面,这使得透过LLVM能够将不同的语言相互连结起来;也使得LLVM能够紧密地与IDE交互和集成。
另一方面,发布中间代码而非目标代码能够在目标系统上更好地发挥其潜能而又不伤害可调试性(i.e. 在目标系统上针对本机的硬件环境产生目标代码,但又能够直接通过中间代码来进行行级调试)
作为工具和函数库
使用LLVM提供的工具可以比较容易地实现新的编程语言的优化编译器或VM,或为现有的编程语言引入一些更好的优化/调试特性。
发布于 2015-11-16 07:25:57 | 104 次阅读