Clang 与 LLVM

咱们在iOS调试中常常会看到Clang这个,那么Clang究竟是什么呢?咱们来简单了解一下。html

      Clang是一个C、C++、OC语言的轻量级编译器。源代码发布于BSD协议下。Clang是由C++编写,基于LLVM,发布于LLVM BSD许可证下的编译器。它与GNU C语言规范几乎彻底兼容,并增长了额外的特性。前端

      那么来比较一下Clang和GCC。Clang编译速度更快,编译产出更小、出错提示更友好。clang采用的是BSD协议,这是苹果资助LLVM、FreeBSD淘汰GCC换用Clang的重要缘由。后端

      Low Level Virtual Machine(LLVM)是一个开源的编译器架构,Clang是LLVM的一个编译器前端。因为优秀的设计,使得Clang很是适合用于开发源代码级别的分析工具。Clang对源程序进行语法分析和语义分析,并将分析结果转换为Abstract Syntax Tree(抽象语法树),最后使用LLVM做为后端代码的生成器。Clang的开发目标是提供一个能够替代GCC的前端编译器。因为GNU编译器套装(GCC)系统庞大,并且Apple大量使用的OC在GCC中优先级较低,同时GCC做为一个纯粹的编译系统,与IDE配合并不优秀。Clang由Apple公司开发,源代码受权使用BSD的开源受权。架构

 

      LLVM(底层虚拟机)是编译器框架系统,用C++编写而成。在Xcode中已经集成了LLVM。在这里,我为你们推荐一篇相关的优秀的文章 http://www.360doc.com/content/12/0326/21/7936054_198066001.shtml  。和你们共享一下。框架

相关文章
相关标签/搜索