什么是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和其他编译器的比拼信息,请参阅Clang的比拼


当前状态

Clang仍处于开发状态。Clang被定义为是一个C,Objective-C,C++和Objective C++产品级质量编译器,支持X86-32,X86-64和ARM(其他目标可能有警告,但通常很容易解决)。如果您正在寻找为源代码分析或“源代码到源代码”的转换工具,Clang可能是您的最佳解决方案。Clang也支持C ++11,有关更多信息,请参阅C ++状态


如何获取Clang和参与其中

这里是获取Clang的代码,构建和运行它的第一手资料:希望它会与你产生共鸣:)

一旦你这样做了,请考虑参与到Clang开发社区中来。Clang开发社区中包括了许多各种不同背景的志愿者以及他们所贡献的资源在之后的开发中,如果你有兴趣了解Clang项目是如何工作的,订阅邮件列表是一个很好的方式。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值