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

  • 相关阅读:
    训练总结
    图论--最短路--SPFA模板(能过题,真没错的模板)
    图论--最短路-- Dijkstra模板(目前见到的最好用的)
    The 2019 Asia Nanchang First Round Online Programming Contest B Fire-Fighting Hero(阅读理解)
    关于RMQ问题的四种解法
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 K题 center
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 XKC's basketball team
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 D Carneginon
    ZOJ 3607 Lazier Salesgirl (枚举)
    ZOJ 3605 Find the Marble(dp)
  • 原文地址:https://www.cnblogs.com/yjf512/p/9173411.html
Copyright © 2011-2022 走看看