LLVM初步了解

LLVM初步了解

LLVM是构架编译器(compiler)的框架系统。
用于优化以任意程序语言编写的程序的编译时间、链接时间、运行时间以及空闲时间。
LLVM已经被 IOS开发工具、Xilinx Vivado、Facebook、Google等采用。

LLVM 核心库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。
能够进行程序语言的编译期优化、链接优化、在线编译优化、代码生成。

LLVM的项目是一个模块化和可重复使用的编译器和工具技术的集合。

对于普通的开发人员来说,LLVM计划提供了越来越多的可以使用、编译器以外的其他工具。
例如代码静态检查工具LLVM/Clang Static Analyzer,是一个 Clang 的子项目,能够使用同样的 Makefile 生成 HTML 格式的分析报告。

对关注编译技术的开发人员,LLVM提供了很多优点:
    现代化的设计;
    LLVM的设计是高度模块化的,使得其代码更为清晰和便于排查问题所在;
    语言无关的中间代码;
    一方面,这使得透过LLVM能够将不同的语言相互连结起来;也使得LLVM能够紧密地与IDE交互和集成;
    作为工具和函数库;使用LLVM提供的工具可以比较容易地实现新的编程语言的优化编译器或VM,或为现有的编程语言引入一些更好的优化/调试特性。 

如何使用
    在Windows上可以使用Mingw编译LLVM;
    也可以用VisualStudio 编译;

    Linux;GCC编译或者是以LLVM/Clang编译;

    Mac OS X;Xcode自带;

    我还没完全弄懂, 构架编译器的框架系统,这词是什么意思;
    总的来说,这东西可能有两方面的作用;一个是可以用来写一个编译器,不用自己完全从头做;一个是可以优化现有的程序,应该是集成到IDE里使用;例如可以集成到VS2015里面,然后可以使用LLVM的工具链;下回再整;
  
    参阅
https://baike.baidu.com/item/LLVM/3598690?fr=aladdin

你可能感兴趣的:(VC++)