C++編譯器
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)、庫和可執行文件。