摘要:过去五年,LLVM从一个学术研究项目进化成C、C++和Objective C编译器的通用后端。成功的关键是性能和适应能力,两者都得益于LLVM独特的设计和实现。 过去五年,LLVM从一个学术研究项目进化成C、C++和Objective C编译器的通用后端。成功的关键是性能和适应能力,两者都得益于LLVM独特的设计和实现。LLVM项目主要作者Chris Lattner在Dr.Dobb's上刊文讲述了LLVM的设计。 他说,“Clang编译器相比GCC编译器具有不少优势,因为LLVM提供了某些独一无二的能力。LLVM区别于其它编译器的主要地方是其内部架构。从2000年起,LLVM就设计作为一套可复用库,拥有定义明确的接口。而当时开源语言的实现是设计作为特定目的的工具,使用单一可执行文件,如GCC就很难复用静态编译器中的解析器,脚本语言也是如此。 ” LLVM是Low Level Virtual Machine(低级虚拟机)的简称,这个库提供了与编译器相关的支持,可以作为多种语言编译器的后端来使用,能够进行程序语言的编译期优化、链接优化、在线编译优化、代码生成。 |
|