C/C++編譯器有哪些?
首先是MSVC、GCC、Cygwin、MingW(Cygwin和MingW的英文發音),另外還有些小眾的編譯器像ICC(Intel C/C++ Compiler)、BCC(Borland C/C++ Compiler,快銷聲匿跡了)、RVCT(ARM的彙編/C/C++編譯器,內置在ARM的IDE——RVDS中)、Pgi編譯器……其實有一大串,我們只要熟悉常用的最強大的幾款就可以了。
MSVC
MSVC是微軟Windows平臺Visual Studio自帶的C/C++編譯器。
優點:對Windows平臺支持好,編譯快。
缺點:對C++的新標準支持得少。
GCC
GCC原名GNU C Compiler,後來逐漸支持更多的語言編譯(C++、Fortran、Pascal、Objective-C、Java、Ada、Go等),所以變成了GNU Compiler Collection(GNU編譯器套裝),是一套由GNU工程開發的支持多種編程語言的編譯器。GCC是自由軟件發展過程中的著名例子,由自由軟件基金會以GPL協議發佈,是大多數類Unix(如Linux、BSD、Mac OS X等)的標準編譯器,而且適用於Windows(藉助其他移植項目實現的,比如MingW、Cygwin等)。GCC支持多種計算機體系芯片,如x86、ARM,並已移植到其他多種硬件平臺。
優點 :類Unix下的標準編譯器,支持眾多語言,支持交叉編譯。
缺點:默認不支持Windows,需要第三方移植才可用於Windows。
Cygwin
Cygwin是一個Windows下Unix-like模擬環境,具體說就是Unix-like接口(OS API,命令行)重定向層,其目的是不修改軟件源碼僅重新編譯就可以將Unix-like系統上的軟件移植到Windows上(這個移植也許還算不上嚴格意義上的無縫移植)。始於1995年,最初作為Cygnus軟件公司工程師Steve Chamberlain的一個項目。
優點:可以比MingW移植更多的軟件到Windows上,對Linux接口模擬比MingW全面。
缺點:軟件運行依賴cygwin1.dll,速度受點影響。
MingW
MingW(Minimalist GNU on Windows)是一個Linux/Windows下的可以把軟件源碼中Unix-like OS API調用通過頭文件翻譯替換成相應的Windows API調用的編譯環境,其目的和Cygwin相同。從而把Linux上的軟件在不修改源碼的情況下編譯為可直接在Win下執行的exe。
優點 :在Win下可以和Linux一樣的方式編譯C/C++源碼,可以說是Win版的GCC,其生產的Windows PE程序相比Cygwin不依賴任何第三方庫,比Cygwin純粹,理論上也更快速。
缺點:編譯速度、編譯出的程序在算法上可能都比MSVC慢。
尾言
最後大家的學習或者開發使用的IDE 是什麼呢?不妨評論區交流下?
C語言51課視頻教程專欄教程《C語言51課視頻教程合集》鏈接:
C語言深入學習視頻教程《C語言數據結構那點事兒》鏈接:
C++45課視頻教程專欄教程《C++45課視頻教程》鏈接:
閱讀更多 C語言基礎 的文章