读书人

什么是Clang

发布时间: 2013-02-20 12:23:22 作者: rapoo

什么是Clang?
Clang: 一种C语言家族编译器

Clang项目的目标是创建一个新的C,C++,Objective C和Objective C++编译器(译注:也就是LLVM的前端Front-end,可参见snsn1984的博客),Clang基于LLVM架构,你现在可以获取它的源代码进行构建。


特性和目标

最终用户:

更快速的编译和低内存占用更易用的编译错误和警告信息表达 (参见例子)GCC兼容

二次应用:

基于库的模块化架构设计支持多样化的客户程序 (重构, 静态分析, 代码生成等)允许与IDE紧密集成采用了比较开放的类BSD协议(LLVM 'BSD' License)

内部设计和实现(Clang开发者本身):

一个真正的产品级质量编译器简单易被理解代码库统一的解释器(C, Objective C, C++, 和Objective C++)保持与C/C++/ObjC等类C语言的一致性

当然上面这些是一个粗略的目标和特性。想全面了解Clang,请参见这里,它将描述得更加详细。


为什么需要Clang?

软件开发需要一种新的编译器:可以更好的诊断和提示编译错误和警告信息,更好与集成开发环境(IDE)整合,以及更加灵活容易开发和维护且商业友好的编译器。这些就是开启新的前端(Front-end)编译器的动机。

下面是一些很好的(但确实很过时了)介绍Clang视频讲座:

Clang简介(2007年5月)Clang的特性和性能(2007年7月)

如需更详细的Clang和其他编译器的比拼信息,请参阅Clang的比拼。


当前状态

Clang仍处于开发状态。Clang被定义为是一个C,Objective-C,C++和Objective C++产品级质量编译器,支持X86一旦你这样做了,请考虑参与到Clang开发社区中来。Clang开发社区中包括了许多各种不同背景的志愿者以及他们所贡献的资源。在之后的开发中,如果你有兴趣了解Clang项目是如何工作的,订阅邮件列表是一个很好的方式。


读书人网 >其他相关

热点推荐