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编译器是你心中的“编译之王”?
作者:付斌