首页 > 应用 > 嵌入式
[导读]C语言作为“万物的始祖”,所有刚接触的小伙伴都在使用C语言,然而不胜枚举的C语言编译器让人眼花缭乱,VScode、GCC、TCC……那么到底哪些C语言编译器是大佬们用的最多的?又有哪些C语言编译器是兼容性最强的呢?到底谁才是编译之王?
C语言作为“万物的始祖”,所有刚接触的小伙伴都在使用C语言,然而不胜枚举的C语言编译器让人眼花缭乱,VScode、GCC、TCC……那么到底哪些C语言编译器是大佬们用的最多的?又有哪些C语言编译器是兼容性最强的呢?到底谁才是编译之王?接下来本网给您推荐以下几个C编译器:   一、官方权威的Microsoft Visual Studio (VScode)   Microsoft Visual Studio 最官方、最权威、兼容性最强、版本更新最前卫的老牌C编译器。Visual Studio(VS,又称VScode) 是一套非常完备的工具和服务,可帮助您为 Microsoft 平台和其他平台创建各种各样的应用程序。Visual Studio 还可将您所有的项目、团队和利益干系人联系在一起。现在您的团队可以从任何位置以虚拟方式进行更为敏捷的合作,无论他们采用何种开发工具。现在甚至更新到了Visual Studio 2019  的最新版本。 功能介绍 可以通过强大的集成开发环境构建面向 Windows、Android、iOS 以及 Web 的出色应用。 使用任何 IDE 或编辑器在云中进行版本控制、敏捷、持续交付、应用程序分析协作。 适用于所有操作系统的编辑器使用可在 Windows、OS X 或 Linux 上运行的免费代码编辑器构建和调试现代 Web 和云应用程序。   二、Linux自带光环下的GCC编译器  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 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 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   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++ 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   WIN-TC 初学C的一款比较好的软件,也是学习C的一款比较官方标准的软件 WIN-TC是一个turbo C2 WINDOWS平台开发工具,最大特点是支持中文界面,支持鼠标操作,程序段复制,为初学c语言、对高等编程环境不熟悉的同志们非常有帮助 该软件使用turbo C2为内核,提供WINDOWS平台的开发界面,因此也就支持WINDOWS平台下的功能,例如剪切、复制、粘贴和查找替换等。而且在功能上也有它的独特特色例如语法加亮、C内嵌汇编、自定义扩展库的支持等。并提供一组相关辅助工具令你在编程过程中更加游刃有余,如虎添翼。 WIN-TC简繁双语版可以正常运行于98及其以上的简体及繁体WINDOWS操作系统上   八、拥有古老历史的TurboC   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++程序文件将保存在“安装目录\TCPP\Project”目录下,开始菜单上会建立“我的Project目录”的快捷方式,令您保存更方便; 5、程序输出的.OBJ和.exe文件将保存在“安装目录\TCPP\Output”目录下,开始菜单上会建立“输出文件Output目录”的快捷方式,令您管理更方便;   “乱花渐欲迷人眼”的C编译器有轻量级的,有重磅的,有全平台加持光环的,究竟哪一款C编译器是你心中的“编译之王”?    
换一批

延伸阅读

[嵌入式] 乱花渐欲迷人眼的C编译器中,谁才是“编译之王”?

乱花渐欲迷人眼的C编译器中,谁才是“编译之王”?C语言作为“万物的始祖”,所有刚接触的小伙伴都在使用C语言,然而不胜枚举的C语言编译器让人眼花缭乱,VScode、GCC、TCC……那么到底哪些C语言编译器是大佬们用的最多的?又有哪些C语言编译器是兼容性最强的呢?到底谁才是编译之王?......关键字:C编译器 C语言 VScode GCC

[qy002千赢国际应用] S3C2416裸机开发系列十四_GCC下UCGUI的移植(2)

S3C2416裸机开发系列十四_GCC下UCGUI的移植(2)现在主要讲解一下在GCC移植UCGUI,Makefile工程如何加入目录,加入源码,c标准库,编译选项的设置。笔者的Makefile模板提取自uboot,工程中加入目录,加入源码都是很简单的,详细的介绍请参考前面章节” GCC启动代码......关键字:S3C2416 裸机开发 GCC UCGUI 移植

[qy002千赢国际应用] Keil5.15使用GCC编译器链接.a库文件

Keil5.15使用GCC编译器链接.a库文件我们知道,当使用第三方的代码时,人家有可能会扔个Lib文件给你.这时候,别人只要提供header文件给你,则你就可以通过Lib文件及header的函数声明,对Lib中的函数进行调用.在Keil中如果使用ARMCC调用Lib文件,相信大家都能......关键字:Keil GCC 编译器

[qy002千赢国际应用] AVR c语言优秀编程风格

AVR c语言优秀编程风格文件结构模块化的程序应该是有一个很好的程序结构的。AVR C语言程序有两种用户文件,.c程序文件,.h头文件,程序中编写过程中需要在.c文件中包含.h头文件。初学者往往出现重复包含或者头文件包含错误的问题,我当时也......关键字:AVR c语言 编程风格

[qy002千赢国际应用] qy002千赢国际C语言模块化编程方法

qy002千赢国际C语言模块化编程方法当你在一个项目小组做一个相对较复杂的工程时,意味着你不再独自单干。你需要和你的小组成员分工合作,一起完成项目,这就要求小组成员各自负责一部分工程。比如你可能只是负责通讯或者显示这一块。这个时候,你就应......关键字:qy002千赢国际 C语言 模块化编程

[qy002千赢国际应用] 51qy002千赢国际智能温控器C语言源程序

51qy002千赢国际智能温控器C语言源程序这是一款51qy002千赢国际智能温控器C语言源程序,程序功能:速成有时钟显示,使用DS18B20进行温度检测,控制温度可通过按键进行设置,输出通过继电器械驱动加热器进行加热。是一款功能较为完善的温度控制板,适合qy002千赢国际爱好......关键字:51qy002千赢国际 智能温控器 C语言

[qy002千赢国际应用] C语言PIC32 serial bootloader和C#语言bootloader PC端串口通信程序

C语言PIC32 serial bootloader和C#语言bootloader PC端串口通信程序  今天介绍下我新完成的为Microchip的32位qy002千赢国际PIC32MZ2048ECH144开发的UART bootloader程序。整个工程分两部分,第一部分是qy002千赢国际端用XC32编译的bootloader程序PhsBoot_v5.0,另一......关键字:C语言 PIC32 serial bootloader C#语言 串口通信

[qy002千赢国际应用] SAM4Eqy002千赢国际之旅——23、在AS6(GCC)中使用FPU

SAM4Eqy002千赢国际之旅——23、在AS6(GCC)中使用FPU浮点单元(Floating Point Unit,FPU),是用于处理浮点数运算的单元。为使用FPU,除了需要启用FPU外,还需要对编译器进行设置,以使其针对浮点运算生成特殊的指令。虽然在Atmel Studio 6中,开发板使用的工程模板......关键字:SAM4E qy002千赢国际 AS6 GCC FPU

[qy002千赢国际应用] 自己用C语言写qy002千赢国际PIC16 serial bootloader

自己用C语言写qy002千赢国际PIC16 serial bootloader  为什么自己写bootloader  我的第一款自己的serial bootloader是为Microchip PIC16qy002千赢国际写的UART bootloader,我命其名为HyperBootloader_PIC16. 为什么取这个名字,......关键字:C语言 qy002千赢国际 PIC16 serial bootloader

[qy002千赢国际应用] 浅谈qy002千赢国际中C语言与汇编语言的转换

浅谈qy002千赢国际中C语言与汇编语言的转换做了一qy002千赢国际设计,要用C语言与汇编语言同时实现,现将这次设计的感受和收获,还有遇到的问题写下,欢迎感兴趣的朋友交流想法,提出建议。qy002千赢国际设计:基于51qy002千赢国际的99码表设计软件环境:Proteus8.0 + Keil4要求:1......关键字:qy002千赢国际中 C语言 汇编语言

[智能硬件] 弥补AI人才短板,华中科技大学也成立人工智能学院

弥补AI人才短板,华中科技大学也成立人工智能学院1月26日,华中科技大学举行人工智能与自动化学院、人工智能研究院揭牌仪式。 ......关键字:AI 人工智能 大数据

[汽车千赢国际官方(唯一)网址] 高盛提醒远离特斯拉股票!因后者Q1业绩将令人失望

高盛提醒远离特斯拉股票!因后者Q1业绩将令人失望高盛分析师大卫·坦伯里诺(David Tamberrino)在给客户的报告中表示:“我们对特斯拉股票维持卖出评级,因为该公司2019年第一季度的业绩和电动汽车交付量将令人失望。”......关键字:特斯拉 电动汽车 Model 3

我 要 评 论

网友评论

技术子站

更多

项目外包

更多

推荐博客