不同作業系統下的C/C++ 編譯器,C/C++新手須知,零基礎學習C語言

c語言基礎 發佈 2020-03-05T17:28:01+00:00

GCCGCC原名GNU C Compiler,後來逐漸支持更多的語言編譯,所以變成了GNU Compiler Collection,是一套由GNU工程開發的支持多種程式語言的編譯器。

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課視頻教程》連結:

關鍵字: