zoukankan      html  css  js  c++  java
  • c 编译器大全

    c 编译器大全

    看了下nginx的auto/cc下的目录,nginx对多种c语言的编辑器都进行了支持。才知道c语言有那么多编辑器。

    编译器原理

    所谓编译器,就是执行下面的三步骤:
    1 将目标语言转换为AST抽象语法树
    2 优化抽象语法树
    3 将抽象语法树转化为适用于各个系统架构的指令集

    各种编译器

    acc

    HP aC++ compiler, 指的是HP C/aC++ 开发者工具包中包含的编译器,特指HP C/ANSI C compiler编译器。

    它主要是在惠普服务器上运行的。 HP Integrity 和 HP 9000 服务器上运行的 HP-UX 操作系统上的编译器。HP-UX 是基于System V,是Unix的一个变种。惠普服务器支持范围从入门级商业应用到大规模服务器应用, 比如SAP软件就有搭建在 HP-UX 操作系统之上的。

    bcc

    Borland C++ compiler,是MS-DOS 和 Microsoft Windows的编译器。Turbo C/C++的进化版

    ccc

    Compaq C compiler, 如其名,康柏电脑公司的C编译器,比如操作系统Tru64 UNIX就是使用这种编译器。

    clang

    Clang C compiler,Clang的C语言编译器。Clang是一个支持C,C++,OC,OC++四种C家族编程语言的编译器。它的目标就是为苹果提供提供基于LLVM的GNU编译套装(GCC)的替代品。我们现在的mac电脑就是使用这个编译器。

    最早之前苹果的编译器完全继承UNIX,使用的是GNU编译套件,后来,编译后端(将生成的AST数优化,并且生成适用于各个系统架构的指令集合)。苹果使用LLVM将编译优化和编译后端全部统一了。但是前端还是GCC,所以有一段时间是GCC+LLVM的组合。但是后来Clang创建之后,就是使用Clang+LLVM的组合了。现在Apple的所有语言都是基于这个组合了。

    gcc

    GNU C compiler。GNU就是最著名的Unix的编译器了。最早的时候叫做GNU C编译器,早于1984年,每一个类Unix操作系统都需要一个C编译器来让程序员可以用高级语言C来写程序。当时没有免费的编译器,所以GNU项目从头开发了一个编译器。1987年GCC的第一个版本发布。1992年,增加了对C++语言的支持。而后,支持了更多的语言,所以GCC这个缩写由原先的GNU C Compiler变化成为了GNU Compiler Collection。

    icc

    Intel C++ compiler。 如名,icc是Intel的编译器团队创建出来的。主要目标当然很明显,就是为了在程序在Intel处理器下的优化。但是很多人反馈,icc在amd下的性能比较慢,而且bug很多。而且是收费的。

    msvc

    Microsoft Visual C++ compiler。 Microsoft Visual C++是微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。VC++集成了便利的除错工具,特别是集成了微软Windows视窗操作系统应用程序接口(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C++ 2017。

    owc

    Open Watcom C compiler。这是一个加拿大公司Watcom出品的C/C++的编译器,在DOS下能够产生最佳的程序代码。很多写有些的厂商都使用Watcom C/C++来编译程序。

    后来Watcom C compiler也推出了Windows平台的C/C++开发工具。

    稍后Watcom C/C++被Sybase并购,成为Sybase的Optima++的前身。

    sunc

    Sun C compiler。就是Sun公司创建的C编译器。在Sun OS / Solaris上,Sun Pro / Sun Workshop / Sun Studio里的Sun C/C++/Fortran編譯器是主流。

    参考文档

    http://yuxiaopeng.com/2016/08/compiler/
    http://www.vienta.me/2014/06/11/你或许应该知道的LLVM/
    https://cxd2014.gitbooks.io/an_introduction_to_gcc/content/1_jian_jie/11_gccde_li_shi.html
    https://www.zhihu.com/question/21675828
    https://www.zhihu.com/question/39661628

  • 相关阅读:
    转:浅谈深度学习(Deep Learning)的基本思想和方法
    随记:我们需要怎样的数学教育?
    转 :hlda文献学习笔记
    转:关于Latent Dirichlet Allocation及Hierarchical LDA模型的必读文章和相关代码
    推荐算法相关总结表(包括DM)
    转 自己动手写推荐系统
    求熵 python 代码
    特征值与特征向量
    转: 谱聚类
    链接数据库
  • 原文地址:https://www.cnblogs.com/yjf512/p/9173411.html
Copyright © 2011-2022 走看看