03.05 C++新手須知,零基礎學習C語言

C/C++編譯器有哪些?


不同操作系統下的C/C++ 編譯器,C/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課視頻教程》鏈接:


分享到:


相關文章: