Clang:LLVM 的 C 语言家族前端

Clang 项目为 LLVM 项目提供了 C 语言家族(C、C++、Objective C/C++、OpenCL 和 CUDA)的语言前端和工具基础设施。它提供了与 GCC 兼容的编译器驱动程序 (clang) 和与 MSVC 兼容的编译器驱动程序 (clang-cl.exe)。您现在可以 获取并构建 源代码。

功能和目标

项目的一些目标包括:

最终用户功能:

实用程序和应用:

内部设计和实现:

当然,这只是对 Clang 的目标和功能的粗略概述。要真正了解它的全部意义,请查看 功能 部分,它对每个目标进行细致的解释。

为什么?

新前端的开发源于对编译器的需求,该编译器能够提供更好的诊断信息、与 IDE 更好地集成、与商业产品兼容的许可证,以及易于开发和维护的灵活编译器。所有这些都是开始开发新前端以满足这些需求的动机。

当前状态

当针对 LLVM 支持的任何目标时,Clang 被认为是一个生产级的 C、Objective-C、C++ 和 Objective-C++ 编译器。例如,Clang 用于生产中构建 Chrome 或 Firefox 等性能关键软件。
如果您正在寻找源代码分析或源代码到源代码转换工具,Clang 可能是一个非常好的解决方案。请参阅 C++ 状态 页面或 C 状态 页面,以获取有关支持哪些标准模式和功能的更多信息。

获取它并参与进来!

获取代码、构建代码和进行尝试 开始。这将向您展示我们今天可以做些什么,并让您亲身体验“Clang 体验”:希望它能引起您的共鸣。:)

完成这些操作后,请考虑 参与 Clang 社区。Clang 开发人员包括来自不同背景的众多志愿者贡献者。如果您有兴趣跟踪 Clang 的开发,注册邮件列表是一个了解项目工作原理的好方法。