竹笋

注册

 

发新话题 回复该主题

乱花渐欲迷人眼的C编译器中,谁才是编译 [复制链接]

1#
那家医院制白癜风好 https://jbk.familydoctor.com.cn/bjbdfyy/

C语言作为“万物的始祖”,所有刚接触的小伙伴都在使用C语言,然而不胜枚举的C语言编译器让人眼花缭乱,VScode、GCC、TCC……那么到底哪些C语言编译器是大佬们用的最多的?又有哪些C语言编译器是兼容性最强的呢?到底谁才是编译之王?接下来本网给您推荐以下几个C编译器:

一、官方权威的MicrosoftVisualStudio(VScode)

最官方、最权威、兼容性最强、版本更新最前卫的老牌C编译器。VisualStudio(VS,又称VScode)是一套非常完备的工具和服务,可帮助您为Microsoft平台和其他平台创建各种各样的应用程序。VisualStudio还可将您所有的项目、团队和利益干系人联系在一起。现在您的团队可以从任何位置以虚拟方式进行更为敏捷的合作,无论他们采用何种开发工具。现在甚至更新到了VisualStudio的最新版本。

功能介绍

可以通过强大的集成开发环境构建面向Windows、Android、iOS以及Web的出色应用。

使用任何IDE或编辑器在云中进行版本控制、敏捷、持续交付、应用程序分析协作。

适用于所有操作系统的编辑器使用可在Windows、OSX或Linux上运行的免费代码编辑器构建和调试现代Web和云应用程序。

二、Linux自带光环下的GCC编译器

如果你使用的是Linux系统,那么恭喜你,你可以直接使用自带的编译器。GCC编译器是Linux下默认的C/C++编译器,大部分Linux发行版中都是默认安装的。GCC编译器通常以Linux命令的形式在终端(Shell)中使用,它有很多选项,这是我们要重点学习的。

GCC原来代表“GNUCCompiler”的意思。自从面世后,GCC逐渐扩充、发展,现在不仅仅支持C语言,还支持其他很多语言,包括C++、Ada、Objective-C、Fortran和Java等。因此,GCC的意思被重新定义为“GNUCompilerCollection”,也即“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上编译往往很麻烦。我也用它做过XServer来连接一台真正的Linux服务器,用来测试一个用tcl/tk编写的跨平台的用户界面程序。

Cygwin包括了一套库,该库在Win32系统下实现了POSIX系统调用的API;还有一套GNU开发工具集(比如GCC、GDB),这样可以进行简单的软件开发;还有一些UNIX系统下的常见程序。年,新增了XWindowSystem。

另外还有一个名为MinGW的库,可以跟Windows本地的MSVCRT库(WindowsAPI)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。

MinGW是MinimalistGNUonWindows的简称,是指只用自由软件来生成纯粹的Win32可执行文件的编译环境。一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行库。实际上MinGW并不是一个C/C++编译器,而是一套GNU工具集合。除开GCC(GNU编译器集合)以外,MinGW还包含有一些其他的GNU程序开发工具(比如gawkbison等等)。

它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(CRuntime)库。MinGW是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时(CRuntime)库(MSVCRT.DLL),该库在所有的NTOS上有效,在所有的Windows95发行版以上的WindowsOS有效,使用基本运行时,你可以使用GCC写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的C运行时(CRuntime)扩展,与基本运行时相结合,就可以有充分的权利既使用CRT(CRuntime)又使用WindowsAPI功能。

开发MinGW是为了那些不喜欢工作在Linux(FreeBSD)操作系统而留在Windows的人提供一套符合GNU的工作环境。总体说来,使用MinGW就是GNU。

但糟糕的是,Cygwin不支持Unicode。实际上,除了当前Windows系统以及OEMcodepages(例如,一个俄语用户,他的代码页是CP和CP,而不能是KOI8-R、ISO/IEC-5、UTF-8等),Cygwin对其他字符集都不支持。Cygwin的较新版本可以通过自带终端模拟器的设置来满足显示UTF-8和更多代码页的功能。

RedHat规定,Cygwin库遵守GNUGeneralPublicLicense,但也可以跟符合开源定义的自由软件链接。RedHat另有价格不菲的许可协议,这样使用Cygwin库的专属软件,就可以进行再发布。

四、小巧速度快的TCC编译器

tcc是一个极小的C语言编译器(TinyCCompiler),由于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开发工具(JavaDevelopmentKit,JDK)。

虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL、PHP、Android等编程语言的插件已经可用,或预计将会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。

基于Eclipse的应用程序的一个突出例子是IBMRationalSoftwareArchitect,它构成了IBMJava开发工具系列的基础。

Eclipse最初是由IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(EclipseFoundation)管理。年,Eclipse3.0选择OSGi服务平台规范为运行时架构。年6月,稳定版3.3发布;年6月发布代号为Ganymede的3.4版;年6月发布代号为Galileo的3.5版;年6月发布代号为Helios的3.6版;年6月发布代号为Indigo的3.7版;年6月发布代号为Juno的4.2版;年6月发布代号为Kepler的4.3版;年6月发布代号为Luna的4.4版;年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是一个turboC2WINDOWS平台开发工具,最大特点是支持中文界面,支持鼠标操作,程序段复制,为初学c语言、对高等编程环境不熟悉的同志们非常有帮助

该软件使用turboC2为内核,提供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、“〖程序设计〗TurboCC++v3.0配置工具”菜单中,建立了修改当前编译语法的快捷方式,您选择C或C++编译方式后再重新打开TurboCC++3.0即可;

3、安装程序将在开始菜单上建立“〖程序设计〗TurboCC++v3.0”菜单,并建立启动TurboC++的快捷方式和配置卸载工具,还有其它相关的一些快捷方式;

4、您建立的C/C++程序文件将保存在“安装目录TCPPProject”目录下,开始菜单上会建立“我的Project目录”的快捷方式,令您保存更方便;

5、程序输出的.OBJ和.exe文件将保存在“安装目录TCPPOutput”目录下,开始菜单上会建立“输出文件Output目录”的快捷方式,令您管理更方便;

“乱花渐欲迷人眼”的C编译器有轻量级的,有重磅的,有全平台加持光环的,究竟哪一款C编译器是你心中的“编译之王”?

作者:付斌

分享 转发
TOP
发新话题 回复该主题