GCC(GNU Compiler Collection)

官方网站: https://gcc.gnu.org

GCC 有 Windows 移植版本,比较出名的就是 MinGW 和 TDM-GCC。

GNU 编译器套件(GNU Compiler Collection)包括 C、C++、Objective-C、Fortran、Java、Ada 和 Go 语言的前端,也包括了这些语言的库(如 libstdc++、libgcj 等等)。GCC 的初衷是为 GNU 操作系统专门编写的一款编译器。GNU 系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由。

llvm+Clang

LLVM 官方网站:http://llvm.org

Clang 官方网站:http://clang.llvm.org/get_started.html

LLVM 是构架编译器(compiler)的框架系统,以 C++编 写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本。LLVM 计划启动于 2000 年,最初由 University of Illinois at Urbana-Champaign 的 Chris Lattner 主持开展。2006 年 Chris Lattner 加盟 Apple Inc,并致力于 LLVM 在 Apple 开发体系中的应用。Apple 也是 LLVM 计划的主要资助者。

Low Level Virtual Machine (LLVM) 是一个开源的编译器架构,它已经被成功应用到多个应用领域。Clang 是 LLVM 的一个编译器前端,它目前支持 C, C++, Objective-C 以及 Objective-C++ 等编程语言。Clang 对源程序进行词法分析和语义分析,并将分析结果转换为 Abstract Syntax Tree ( 抽象语法树 ) ,最后使用 LLVM 作为后端代码的生成器。

Clang 的开发目标是提供一个可以替代 GCC 的前端编译器。与 GCC 相比,Clang 是一个重新设计的编译器前端,具有一系列优点,例如模块化,代码简单易懂,占用内存小以及容易扩展和重用等。由于 Clang 在设计上的优异性,使得 Clang 非常适合用于设计源代码级别的分析和转化工具。Clang 也已经被应用到一些重要的开发领域,如 Static Analysis 是一个基于 Clang 的静态代码分析工具。

Watcom C/C++

官方网站:http://www.openwatcom.org/index.php/Download

在 DOS 开发环境中,Watcom C/C++ 编译器 以编译后的 exe 运行高速而著称,且首个支持 Intel 80386 "保护模式"的编译器。于 90 年代中期,大批的雄心技术游戏(例如 Doom、Descent、Duke Nukem 3D 都以 Watcom C 写成)

Watcom C/C++ 编译器、Watch Fortran 编译器 经已在不其先前所属公司 Sybase 售卖, 而被 SciTech 软件公司 作为 Open Watcom 开源包 发行。类似于其他的 开源编译器(例如 [GCC])项目,Watcom C 代码小而便携, 其编译器后端(代码生成器)的目标码可变。该编译器可在 DOS、OS/2、Windows 等操作系统上运行,并生成各种可运行的(不必是该操作系统的)代码。该编译器支持Novell NetWare 的 NLM 目标码。目前正进行 为 Linux[1] 、modern BSD (例如FreeBSD) 操作系统 重定目标码, 以便在 x86、PowerPC 及 其它处理器上运行。Open Watcom C/C++ 的 1.4 版于 2005 年 12 月发行,采用 Linux x86 为实验目标, 支持 NT、OS/2 等 host 平台. 曾有某被弃置的 QNX 版本,但其编译所须的库并未开源发行。当前最近的稳定版是 1.9 版,在 2010 年 6 月发行。

Digital Mars

官方网站:http://www.digitalmars.com

DigitalMars 是一款高性能的编译器,功能包含,快速编译/链接时、强大的优化技术、Contract 设计、完整的资源库、浏览 HTML 文档,反汇编、库、资源编译器等。命令行及 GUI 版本、教程、代码示例、在线更新、标准模板库等等。

MSVC系列

与 Visual Studio 集成发布,微软自己的编译器,VS 是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如 UML 工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括 Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework 和 Microsoft Silverlight 及 Windows Phone。

Borland系列(turbo c和Borland C++)

Borland C++ Builder Compiler 是一个 BC 编译器。它是用来优化 BC 开发系统的工具。它包括最后版本的 ANSI/ISO C++ 语言的支持,包括 RTL,C++ 的 STL 框架结构支持。Turbo C(TC)是其早期的命令行编译器作品

Intel C++

Intel C++ Compiler (简称 icc 或 icl)是美国 Intel 公司开发的 C/C++ 编译器,适用于 Linux、Microsoft Windows 和 Mac OS X 操作系统。

Intel 编译支持 IA-32、Intel 64、Itanium 2、Intel Atom 处理器和某些非 Intel 的兼容处理器(例如某些 AMD 处理器)。开发人员应当检查系统需求。适用于 IA-32 和 Intel 64 的 Intel C++ 编译器的主要特点是自动向量化器,它能够生成 SSE、SSE2 和 SSE3 的 SIMD 指令及其适用于 Intel 无线 MMX 和 MMX 2 的嵌入式变种。

Intel C++ Compiler 进一步支持 OpenMP 3.0 和适用于对称多处理的自动并行化。借助于 Cluster OpenMP 的附加能力,编译器还可为分布存储多处理根据 OpenMP 指示自动生成消息传递接口调用。

Intel C++ Compiler 可通过四种方式获得,它分别是 Intel Parallel Studio、Intel C++ Compiler 专业版、Intel 编译器套装和 Intel Cluster Toolkit 编译器版的一部分。该编译器的最新发布是 Intel C++ Compiler 14.0 版本

TCC(Tiny C Compiler)

官方网站:http://bellard.org/tcc

Tiny C Compiler(缩写为 TCC, tCc 或 TinyCC)用于 x86(16/32位)或是 x86-64(64位)系统的 C compiler,而开发者为 Fabrice Bellard。软件是设计用于低级电脑环境,或是于磁盘容量有限的空间中(1.44 磁片或是硬盘)。软件可以适用于 Windows、Linux、Unix 操作系统,而最新版本为 0.9.26(Feb 15, 2013)。TCC 是在 GNU 宽通用公共许可证(LGPL)协议规范下发布。作者是大神法布里斯·贝拉(FabriceBellard)。

TCC符合ANSI C(C89/C90)规范,Tiny C Compiler Reference Documentation accessed on 2008-08-07 亦符合新版的 ISO C99 标准规范,与 GNU C 扩展的内嵌汇编语言(即 inline assembler,内联汇编大陆用语)功能汇编语言。

而 Google Andriod 系统内亦曾经内置于其中,于 Andriod 2.0 版本中。