C語言作為「萬物的始祖」,所有剛接觸的小夥伴都在使用C語言,然而不勝枚舉的C語言編譯器讓人眼花繚亂,VScode、GCC、TCC……那麼到底哪些C語言編譯器是大佬們用的最多的?又有哪些C語言編譯器是兼容性最強的呢?到底誰才是編譯之王?接下來本網給您推薦以下幾個C編譯器:
一、官方權威的Microsoft Visual Studio (VScode)
最官方、最權威、兼容性最強、版本更新最前衛的老牌C編譯器。Visual Studio(VS,又稱VScode) 是一套非常完備的工具和服務,可幫助您為 Microsoft 平臺和其他平臺創建各種各樣的應用程式。Visual Studio 還可將您所有的項目、團隊和利益干係人聯繫在一起。現在您的團隊可以從任何位置以虛擬方式進行更為敏捷的合作,無論他們採用何種開發工具。現在甚至更新到了Visual Studio 2019 的最新版本。
功能介紹
可以通過強大的集成開發環境構建面向 Windows、Android、iOS 以及 Web 的出色應用。
使用任何 IDE 或編輯器在雲中進行版本控制、敏捷、持續交付、應用程式分析協作。
適用於所有作業系統的編輯器使用可在 Windows、OS X 或 Linux 上運行的免費代碼編輯器構建和調試現代 Web 和雲應用程式。
二、Linux自帶光環下的GCC編譯器
如果你使用的是Linux系統,那麼恭喜你,你可以直接使用自帶的編譯器。GCC 編譯器是 Linux 下默認的 C/C++ 編譯器,大部分 Linux 發行版中都是默認安裝的。GCC 編譯器通常以 Linux 命令的形式在終端(Shell)中使用,它有很多選項,這是我們要重點學習的。
GCC 原來代表「GNU C Compiler」的意思。自從面世後,GCC 逐漸擴充、發展,現在不僅僅支持C語言,還支持其他很多語言,包括 C++、Ada、Objective-C、Fortran 和 Java 等。因此,GCC 的意思被重新定義為「GNU Compiler Collection」,也即「GUN 編譯器套件」。
GUN 編譯器套件包含多種前端處理器,以翻譯各種不同語言。當然,在本教程中我們重點討論的是基於C語言的前端處理器 GCC。
GCC 也是一種多目標(multitarget)編譯器;換句話說,它通過使用可互換的後端處理器,為多種不同的計算機架構生成相應的可執行程序。
正如模塊化概念所提倡的,GCC 可被用作交互式編譯器;也就是說,可以使用 GCC 對所有設備與作業系統創建可執行程序,不需要局限於僅僅是運行 GCC 的平臺。然而,這麼做需要特殊的配置和安裝,大多數 GCC 的安裝,僅能針對它們的宿主系統編譯程序。
三、不用Linux的Cygwin
Cygwin是一個用於在Windows上模擬Linux環境的軟體。它可以作為那些虛擬機軟體的一個部分替代品。
運行Cygwin後,你會得到一個類似Linux的Shell環境,在其中你可以使用絕大部分Linux軟體和功能。如Gcc,Make,Vim,Emacs等等。總之如果你想使用某個Linux下的功能,而windows上又找不到好的替代品的話,你就可以用Cygwin。我使用的最頻繁的是Gcc和Make。我經常用它們來編譯一些我從網上下載的開源的工程。這些工程在Windows上編譯往往很麻煩。我也用它做過X Server來連接一臺真正的Linux伺服器,用來測試一個用tcl/tk編寫的跨平臺的用戶界面程序。
Cygwin包括了一套庫,該庫在Win32系統下實現了POSIX系統調用的API;還有一套GNU開發工具集(比如GCC、GDB),這樣可以進行簡單的軟體開發;還有一些UNIX系統下的常見程序。2001年,新增了X Window System。
另外還有一個名為MinGW的庫,可以跟Windows本地的MSVCRT庫(Windows API)一起工作。MinGW佔用內存、硬碟空間都比較少,能夠連結到任意軟體,但它對POSIX規範的實現沒有Cygwin庫完備。
MinGW是Minimalist GNU on Windows的簡稱,是指只用自由軟體來生成純粹的Win32可執行文件的編譯環境。一個可自由使用和自由發布的Windows特定頭文件和使用GNU工具集導入庫的集合,允許你生成本地的Windows程序而不需要第三方C運行庫。實際上MinGW 並不是一個C/C++ 編譯器,而是一套GNU工具集合。除開GCC (GNU 編譯器集合) 以外,MinGW 還包含有一些其他的GNU 程序開發工具 (比如gawk bison 等等)。
它是一個可自由使用和自由發布的Windows特定頭文件和使用GNU工具集導入庫的集合,允許你在GNU/Linux和Windows平臺生成本地的Windows程序而不需要第三方C運行時(C Runtime)庫。MinGW 是一組包含文件和埠庫,其功能是允許控制臺模式的程序使用微軟的標準C運行時(C Runtime)庫(MSVCRT.DLL),該庫在所有的 NT OS 上有效,在所有的 Windows 95發行版以上的 Windows OS 有效,使用基本運行時,你可以使用 GCC 寫控制臺模式的符合美國標準化組織(ANSI)程序,可以使用微軟提供的 C 運行時(C Runtime)擴展,與基本運行時相結合,就可以有充分的權利既使用 CRT(C Runtime)又使用 WindowsAPI功能。
開發 MinGW 是為了那些不喜歡工作在 Linux(FreeBSD) 作業系統而留在Windows 的人提供一套符合GNU 的工作環境。總體說來,使用MinGW 就是GNU。
但糟糕的是,Cygwin不支持Unicode。實際上,除了當前Windows系統以及OEM codepages(例如,一個俄語用戶,他的代碼頁是CP1251和CP866,而不能是KOI8-R、ISO/IEC 8859-5、UTF-8等),Cygwin對其他字符集都不支持。Cygwin 的較新版本可以通過自帶終端模擬器的設置來滿足顯示 UTF-8 和更多代碼頁的功能。
Red Hat 規定,Cygwin 庫遵守 GNU General Public License,但也可以跟符合開源定義的自由軟體連結。Red Hat 另有價格不菲的許可協議,這樣使用 Cygwin 庫的專屬軟體,就可以進行再發布。
四、小巧速度快的TCC編譯器
tcc是一個極小的C語言編譯器(Tiny C Compiler),由於win下沒有自帶gcc編譯器,tcc是一個很好的選擇,具有小巧、速度快、自動編譯連結的特點。
可以在任何地方編譯和執行C代碼,而其編譯,組裝和連結比GCC 快幾倍。任何C動態庫都可以直接使用。TCC正在全面遵守ISOC99標準。TCC當然可以編譯自己。tcc包括一個可選的內存和綁定檢查器。綁定的檢查代碼可以與標準代碼自由混合。
另外,還可以直接編譯和執行C原始碼。無需連結或組裝。包括完整的C預處理器和類似GNU的彙編程序。支持C腳本:只需在C原始碼的第一行添加「#!/ usr / local / bin / tcc -run」,然後直接從命令行執行。使用libtcc,可以使用TCC作為動態代碼生成的後端。
五、開放原始碼的eclipse
這個平臺雖然是基於Java的集成開發環境,但是其實這平臺作為C語言編譯器依然也是它自身的目標。
Eclipse 是一個開放原始碼的、基於Java的可擴展開發平臺。就其本身而言,它只是一個框架和一組服務,用於通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發工具(Java Development Kit,JDK)。
雖然大多數用戶很樂於將 Eclipse 當作 Java 集成開發環境(IDE)來使用,但 Eclipse 的目標卻不僅限於此。Eclipse 還包括插件開發環境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展 Eclipse 的軟體開發人員,因為它允許他們構建與 Eclipse 環境無縫集成的工具。由於 Eclipse 中的每樣東西都是插件,對於給 Eclipse 提供插件,以及給用戶提供一致和統一的集成開發環境而言,所有工具開發人員都具有同等的發揮場所。
這種平等和一致性並不僅限於 Java 開發工具。儘管 Eclipse 是使用Java語言開發的,但它的用途並不限於 Java 語言;例如,支持諸如C/C++、COBOL、PHP、Android等程式語言的插件已經可用,或預計將會推出。Eclipse 框架還可用來作為與軟體開發無關的其他應用程式類型的基礎,比如內容管理系統。
基於 Eclipse 的應用程式的一個突出例子是 IBM Rational Software Architect,它構成了 IBM Java 開發工具系列的基礎。
Eclipse最初是由IBM公司開發的替代商業軟體Visual Age for Java的下一代IDE開發環境,2001年11月貢獻給開源社區,現在它由非營利軟體供應商聯盟Eclipse基金會(Eclipse Foundation)管理。2003年,Eclipse 3.0選擇OSGi服務平臺規範為運行時架構。2007年6月,穩定版3.3發布;2008年6月發布代號為Ganymede的3.4版;2009年6月發布代號為Galileo的3.5版;2010年6月發布代號為Helios的3.6版;2011年6月發布代號為Indigo的3.7版;2012年6月發布代號為Juno的4.2版;2013年6月發布代號為Kepler的4.3版;2014年6月發布代號為Luna的4.4版;2015年6月項目發布代號為Mars的4.5版。
六、初學者必備的輕量級Dev-C++
Dev-C++是一個Windows環境下的一個適合於初學者使用的輕量級 C/C++ 集成開發環境(IDE)。它是一款自由軟體,遵守GPL許可協議分發原始碼。它集合了MinGW中的GCC編譯器、GDB調試器和 AStyle格式整理器等眾多自由軟體。原開發公司 Bloodshed 在開發完 4.9.9.2 後停止開發,所以現在由 Orwell 公司繼續更新開發,最新版本是5.11。
它包括多頁面窗口、工程編輯器,在工程編輯器中集合了編輯器、編譯器、連接程序和執行程序。它也提供高亮度語法顯示的,以減少編輯錯誤。Dev-C++是一個Windows下的C和C++程序的集成開發環境。
它使用MingW32/GCC編譯器,遵循C/C++標準。開發環境包括多頁面窗口、工程編輯器以及調試器等,在工程編輯器中集合了編輯器、編譯器、連接程序和執行程序,提供高亮度語法顯示的,以減少編輯錯誤,還有完善的調試功能,能夠適合初學者與編程高手的不同需求,是學習C或C++的首選開發工具!
七、初學者的另一個福音WIN-TC
初學C的一款比較好的軟體,也是學習C的一款比較官方標準的軟體
WIN-TC是一個turbo C2 WINDOWS平臺開發工具,最大特點是支持中文界面,支持滑鼠操作,程序段複製,為初學c語言、對高等編程環境不熟悉的同志們非常有幫助
該軟體使用turbo C2為內核,提供WINDOWS平臺的開發界面,因此也就支持WINDOWS平臺下的功能,例如剪切、複製、粘貼和查找替換等。而且在功能上也有它的獨特特色例如語法加亮、C內嵌彙編、自定義擴展庫的支持等。並提供一組相關輔助工具令你在編程過程中更加遊刃有餘,如虎添翼。
WIN-TC簡繁雙語版可以正常運行於98及其以上的簡體及繁體WINDOWS作業系統上
八、擁有古老歷史的TurboC
「TurboC/C++v3.0中文版」是為了照顧不熟悉DOS環境軟體操作的廣大初學者,讓大家能在Windows環境下方便地安裝和使用中文TurboC/C++3.0,對界面進行了漢化,並且為其完善了Windows以及中文DOS下的運行環境,經過重新包裝後推薦給學習《C語言程序設計》與《C++面向對象程序設計》的廣大師生。用戶並不需要熟悉DOS知識,只需要在安裝時將TurboC/C++v3.0指定安裝在任意文件夾,再不需要手動更改任何選項,就能夠正常編譯程序。
主要功能
1、為了照顧不熟悉DOS環境軟體操作的廣大初學者,讓大家能在Windows環境下方便地安裝TurboC/C++v3.0,本安裝程序可以將TurboC/C++v3.0安裝在任意指定目錄,無需修改Options菜單裡的Directory選項,即可正常編譯標準C和C++程序!
2、「〖程序設計〗TurboC&C++v3.0配置工具」菜單中,建立了修改當前編譯語法的快捷方式,您選擇C或C++編譯方式後再重新打開TurboC&C++3.0即可;
3、安裝程序將在開始菜單上建立「〖程序設計〗TurboC&C++v3.0」菜單,並建立啟動TurboC++的快捷方式和配置卸載工具,還有其它相關的一些快捷方式;
4、您建立的C/C++程序文件將保存在「安裝目錄TCPPProject」目錄下,開始菜單上會建立「我的Project目錄」的快捷方式,令您保存更方便;
5、程序輸出的.OBJ和.exe文件將保存在「安裝目錄TCPPOutput」目錄下,開始菜單上會建立「輸出文件Output目錄」的快捷方式,令您管理更方便;
「亂花漸欲迷人眼」的C編譯器有輕量級的,有重磅的,有全平臺加持光環的,究竟哪一款C編譯器是你心中的「編譯之王」?
作者:付斌