码迷,mamicode.com
首页 > 其他好文 > 详细

Clang 与 LLVM

时间:2015-10-30 14:04:18      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

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

      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  。和大家共享一下。

Clang 与 LLVM

标签:

原文地址:http://www.cnblogs.com/guangleijia/p/4922909.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!