当前位置:  软件>C/C++软件

C/C++编译器 clang

    来源:    发布时间:2015-02-17

    本文导语:  Clang 是一个 C++ 编写、基于 LLVM、发布于 LLVM BSD 许可证下的 C/C++/Objective C/Objective C++ 编译器,其目标(之一)就是超越 GCC。 Clang 开发事出有因,Wiki 介绍如下: Apple 使用 LLVM 在不支持全部 OpenGL 特性的 GPU (Intel 低端显卡) 上生...

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 快。(2007-7-25)
  • 内存占用小:Clang 内存占用是源码的 130%,Apple GCC 则超过 10x。
  • 诊断信息可读性强:我不会排版,推荐去找不到编译器????????求救::在线等待! iis7站长之家观看。其中错误的语法不但有源码提示,还会在错误的调用和相关上下文的下方有~~~~~和^的提示,相比之下 GCC 的提示很天书。
  • GCC 兼容性。
  • 设计清晰简单,容易理解,易于扩展增强。与代码基础古老的 GCC 相比,学习曲线平缓。
  • 基于库的模块化设计,易于 IDE 集成及其他用途的重用。由于历史原因,GCC 是一个单一的可执行程序编译器,其内部完成了从预处理到最后代码生成的全部过程,中间诸多信息都无法被其他程序重用。Clang 将编译过程分成彼此分离的几个阶段,AST 信息可序列化。通过库的支持,程序能够获取到 AST 级别的信息,将大大增强对于代码的操控能力。对于 IDE 而言,代码补全、重构是重要的功能,然而如果没有底层的支持,只使用 tags 分析或是正则表达式匹配是很难达成的。

  •     
     
     

    您可能感兴趣的文章:

  • 请教:JSP编译器编译成字节码,跟别的编译器编译出来的有什么不同呢?
  • 编译GCC时能不能只编译C/C++的编译器?
  • 关于arm交叉编译器4.3.3编译程序报错,但是3.4.5却能编译通过的问题
  • 问:关于gcc编译器和g++编译器
  • C编译器 c++编译器 wieldylcc
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • 请问哪里有反编译.class文件的反编译器?
  • linux下有没有能编译出16bit代码的C语言编译器?
  • 求一个编译好的的gcc编译器
  • Solaris下编译器版本不同,编译后的物件大小不同?
  • 求购java的反编译器,要求反编译效果好的-急!
  • 请问在linux下编译程序怎么设置编译器字节对齐?
  • eclipse 的c编译器编译问题
  • 怎么查看arm平台上的程序是用那个版本的交叉编译器编译的????
  • 我想把Java源码编译本地的exe,因为用jvm太慢了,但是不知用啥编译器?
  • 关于如何判断gcc之类的编译器的编译结果?
  • 使用gcc编译器进行代码编译出来的程序是否遵循gpl协议
  • 谁有JAVA的反编译器?就是把.class反编译成.java的工具?或者有decafe pro的注册机?
  • 用-g编译器选项编译程序就在makefile中按下面样子的加进去吗:
  • 在linux+x86下用交叉编译器编译出能在solaris+x86运行的文件时遇到的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 开源机器学习编译器 Milepost GCC
  • 编译器是怎么实现的?????
  • 请问Linux下,有图形界面的编译器吗?
  • 请问编译器是干什么用的
  • 哪有cc编译器下载?
  • 交叉编译器可以通用吗?
  • 问一下有什么方法可以用其它编译器伪装成GCC?
  • C语言编译器 Cilk
  • 找不到编译器????????求救::在线等待!
  • jsp编译器
  • gcc和cc和g++是一个编译器吗?
  • 谁有AIX 4.3.3下用的CC编译器.
  • linux 如何确定哪个编译器在执行
  • LINUX下使用Eclipse,如何使用交叉编译器?
  • 怎么样安装一个CC++编译器?
  • 编译器架构 LLVM
  • 关于java编译器
  • 请问,unix下的编译器支持c++的RTTI吗?
  • 要哪里下载gvim编译器,要怎么用呢,有中文版的吗
  • CUDA准实时编译器 Ocelot


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3