C++编译器
第一款C++编译器Cfront在1993年退出历史舞台。Stanley B.Lippman在贝尔实验室领导过cfront3.0和2.1的编译器开发团队。
Linux系统
GCC-1985
GCC:GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C、Ada等语言。
- gcc是GCC中的GUN C Compiler(C 编译器)
- g++是GCC中的GUN C++ Compiler(C++编译器)
主要区别
- 对于 *.c 和 *.cpp 文件处理不同
- gcc分别当做c和cpp文件编译(c和cpp的语法强度是不一样的)。
- g++则统一当做cpp文件编译。
- 使用g++编译文件时,g++会自动链接标准库STL,而gcc不会自动链接STL。
- 编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接。但也可以使用gcc -lstdc++来链接。
MAC系统
Clang-2005
由苹果电脑发起,是一个C、C++、Objective-C和Objective-C++编程语言的编译器前端。它采用了LLVM作为其后端。
Windows系统
Cygwin-1995
用于各种版本的Microsoft Windows上,运行类UNIX系统。
MinGW-1998
MinGW(Minimalist GNU for Windows),是从Cygwin基础上发展而来,将GCC编译器和GNU Binutils移植到Win32平台下的产物,包括一系列头文件(Win32API)、库和可执行文件。