河北建设集团网站,金融网站设计欣赏,服装店网页设计网站模板,济南网络优化网址来自 phoronix 的消息称#xff0c;根据 FreeBSD 2012 第一季度的状态报告 显示#xff0c;来自 LLVM 的 Clang 编译器将成为 FreeBSD 10 的默认 C/C 编译器#xff0c;废弃使用 GPL 授权协议的 GCC#xff0c;而 Clang 的授权协议是 BSD。
Clang 是一个 C 编写、基于 L… 来自 phoronix 的消息称根据 FreeBSD 2012 第一季度的状态报告 显示来自 LLVM 的 Clang 编译器将成为 FreeBSD 10 的默认 C/C 编译器废弃使用 GPL 授权协议的 GCC而 Clang 的授权协议是 BSD。
Clang 是一个 C 编写、基于 LLVM、发布于 LLVM BSD 许可证下的 C/C/Objective C/Objective C 编译器其目标之一就是超越 GCC。
Clang 开发事出有因Wiki 介绍如下
Apple 使用 LLVM 在不支持全部 OpenGL 特性的 GPU (Intel 低端显卡) 上生成代码 (JIT)令程序仍然能够正常运行。之后 LLVM 与 GCC 的集成过程引发了一些不快GCC 系统庞大而笨重而 Apple 大量使用的 Objective-C 在 GCC 中优先级很低。此外 GCC 作为一个纯粹的编译系统与 IDE 配合很差。加之许可证方面的要求Apple 无法使用修改版的 GCC 而闭源。于是 Apple 决定从零开始写 C family 的前端也就是基于 LLVM 的 Clang 了。
Clang 的特性
快通过编译 OS X 上几乎包含了所有 C 头文件的 carbon.h 的测试包括预处理 (Preprocess)语法 (lex)解析 (parse)语义分析 (Semantic Analysis)抽象语法树生成 (Abstract Syntax Tree) 的时间Clang 是 Apple GCC 4.0 的 2.5x 快。内存占用小Clang 内存占用是源码的 130%Apple GCC 则超过 10x。诊断信息可读性强推荐去网站观看其中错误的语法不但有源码提示还会在错误的调用和相关上下文的下方有~~~~~和^的提示相比之下 GCC 的提示犹如天书。和GCC的兼容性。设计清晰简单容易理解易于扩展增强。与代码基础古老的 GCC 相比学习曲线平缓。基于库的模块化设计易于 IDE 集成及其他用途的重用。由于历史遗留原因GCC 只是一个单一的可执行程序编译器其内部完成了从预处理到最后代码生成的全部过程中间诸多信息都无法被其他程序重用。Clang 将编译过程分成彼此分离的几个阶段AST 信息可序列化。通过库的支持程序能够获取到 AST 级别的信息将大大增强对于代码的操控能力。对于 IDE 而言代码补全、重构是重要的功能然而如果没有底层的支持只使用 tags 分析或是正则表达式匹配是很难达成的。
更多关于Clang的详细信息或者下载地址请点这里 本文转载自
开源中国