鱼C论坛

 找回密码
 立即注册
查看: 1723|回复: 0

[技术交流] c语言编译器 ----搬砖贴

[复制链接]
发表于 2019-3-23 00:53:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免费的C / C ++编译器和解释器
C是一种通用的过程编程语言,相当容易学习(因为它没有很多内置的记忆功能),但是它具有足够的表现力,可以用来构建任何类型的计算机程序,包括整个像Linux这样的 操作系统。C ++是一种通用的面向对象编程语言,最初是作为C的超集创建的(尽管现在这两种语言已经朝着不同的方向发展,因此不再是严格正确的)。这两种编程语言C和C ++可能是用于编写程序的最流行的语言。

本页列出了许多免费的C和C ++编译器,交叉编译器和解释器,适用于PC,Mac和其他计算机上的各种操作系统。

如果您正在寻找微控制器,PDA,计算器(如HP计算器)和其他此类设备的C / C ++编译器和交叉编译器,您还应该检查用于微控制器,嵌入式系统的 免费C / C ++编译器和交叉编译器, PDA,计算器和其他设备页面。大多数可安全归类于该类别的编译器已移至该页面。

相关页面
如何创建/创建网站:初学者的AZ指南 - 为您的软件启动一个
免费的C / C ++源代码和库 - 不要重新发明轮子
免费游戏开发库和源代码
免费的可移植GUI库
免费编程编辑器和集成开发环境(IDE)
免费C#(C sharp)编译器和口译员
免费D编译器和口译员
其他免费编译器
免费的C,C ++编译器和计算机解释器
小C叉 新
这是Tiny C编译器的一个分支(在本页的其他位置列出),以源代码形式分发。与原始的Tiny C编译器一样,它实现了ISO C99标准的许多功能。它适用于Linux和Windows,并在GNU通用公共许可证下发布。

Microsoft Visual Studio社区
对于个人或业余爱好者程序员,Microsoft Visual Studio社区似乎包括其商业表兄弟的大多数重要工具。假设 列表比较各种版本完成后,您将获得完整版的IDE,调试器,优化编译器,编辑器,调试和分析工具。使用此套件,您可以为桌面和移动版本的Windows以及Android开发程序。C ++编译器似乎支持大多数ISO C ++ 11和一些C ++ 14和C ++ 17,而C编译器在没有适当的C99(是的,1999标准)支持的情况下仍然无可救药地过时,所以没有需要梦想有关C11的支持。该软件还支持使用C#,Visual Basic,F#和Python构建程序。在我写这篇文章的时候,该网站指出Visual Studio Community 2015“对于个人开发者,开源项目,学术研究,教育和小型专业团队是免费的”。

Clang:LLVM的C语言前端
Clang是一个C,C ++,Objective C和Objective C ++编译器,主要由Apple开发。它是LLVM项目的一部分。(在您提出要求之前,LLVM并不代表任何特别的东西,虽然从历史上看,它是“低级虚拟机”的缩写。我想他们想要忽视这个名称,因为它不是虚拟机,因为人们使用它今天。)它实现了各种ISO C和C ++语言标准,如C11,ISO C ++ 11,C ++ 14和C ++ 1z的部分。它还支持GNU C编译器系列中的各种扩展。编译器是在BSD许可下发布的。不幸的是,在我写这篇文章时,它仅以源代码形式提供,您必须自己编译。

MinGW的-W64
与MinGW(本页其他地方列出)一样,MinGW-w64项目提供了GNU C和C ++编译器在Windows系统上运行所需的库,头和运行时。对于MinGW-w64,这些支持文件允许您创建除32位程序之外的64位程序。该项目还提供交叉编译器,以便您可以选择从Linux系统编译(比如说)Windows程序。

AMD x86 Open64编译器套件
这是Open64编译器套件的一个版本(参见本页其他部分),该套件 已针对AMD处理器进行了调整(并且还有其他错误修复)。C / C ++编译器符合ANSI C99和ISO C ++ 98标准,支持语言间调用(因为它也有Fortran编译器),x86 32位和64位代码生成,矢量和标量SSE / SSE2 / SSE3代码生成,用于共享内存模型的OpenMP 2.5,用于分布式和共享内存模型的MPICH2,IEEE 754浮点支持,支持各种优化的优化器(全局,循环嵌套,过程间分析,反馈定向等) )等。它带有优化的AMD核心数学库和文档。这个编译器套件需要 Linux。

打开Watcom V2 Fork
这是看似停滞的Open Watcom项目的分支(即分拆)(参见本页其他地方)。它可以运行并生成Windows(16位,32位和64位),Linux(32位和64位),OS / 2和MS-DOS(16位和32位保护)的可执行文件模式)。对于那些不熟悉Watcom的人来说,它曾经是一个众所周知的商业销售编译器,直到最初的开发人员停止并发布其源代码(在Sybase Open Watcom公共许可证下)。

开源Watcom / Open Watcom C / C ++编译器
Watcom C / C ++编译器(现为Open Watcom C / C ++编译器)现已开源且免费。这个编译器为Win32,Windows 3.1(Win16),OS / 2,Netware NLM,MSDOS(16位和32位保护模式)等生成代码,几年前是一个非常令人垂涎的编译器(直到Sybase终止它)。编译器还包括众所周知的STLport(C ++标准模板库实现)。更新:这个项目似乎已经停滞不前,并且有一个新的Open Watcom V2 Fork项目(请参阅本页其他地方)正在进行中。

Digital Mars C / C ++编译器(Symantec C ++替换)
Digital Mars C / C ++是Symantec C ++编译器的直接替代品,支持为Win32,Windows 3.1,MSDOS和32位扩展MSDOS编译程序。如果目标计算机没有浮点处理器(Pentium计算机之前),则可以将浮点仿真链接到程序中。编译器支持Anotated C ++ Reference Manual(ARM)中的C ++定义和AT&T 3.0版的增强语言功能,包括模板,嵌套类,嵌套类型,异常处理和运行时类型标识。

UPS调试器(C解释器)
这实际上是X Window的图形源级调试器,但它包含一个内置的C解释器,可以处理单个或多个源文件。您可以使用它来构建字节码可执行文件并在该可执行文件上执行解释器。如果您需要一个解释器来调试或原型化程序,或者只是学习该语言,请查看它。它支持以下平台:Solaris,SunOS,Linux, FreeBSD,BSD / OS以及其他可能的Unices。

BDS C编译器
还记得8080 / Z80 CP / M系统的旧(着名)BDS C编译器吗?它现在处于公共领域,包含汇编语言源代码。该软件包是编译器的零售版本,带有链接器和用户手册。在你嘲笑它之前,请记住,它可以用于为嵌入式系统生成8080/8085 / Z80代码,只需要一点点工作(即编写自己的例程来替换访问操作系统函数的任何运行时库代码)。

Bloodshed Dev-C ++ C ++编译器
这是一个Win32集成开发环境,包括来自Mingw32环境的egcs C ++编译器和GNU调试器,以及编辑器和其他工具,可以在Windows平台上更轻松地使用Mingw32 gcc编译器进行程序开发。它还包括应用程序的安装程序。

较小的C.
较小的C编译器是单通道编译器,可为NASM,YASM或FASM(免费的aseemblers)生成16或32位Intel x86(80386及更高版本)汇编语言代码,然后可在Windows,Mac上进行汇编和链接OS X,Linux和DOS。它还可以为MIPS和TR3200 CPU生成代码。该语言支持大多数ANSI C89标准和一些ANSI C99功能。它能够自己编译。但是,在编写此条目时,标准C库仍在进行中。

Orange C编译器
Orange C Compiler是一种优化(如果使用其他英语变体,则为“优化” )C编译器,支持最新的C标准,如C99和C11。它在Windows和DOS上运行,具有集成开发环境,带有编程编辑器(具有语法高亮和代码完成功能), make实用程序, 调试器和 Win32资源编辑器。它可以为Win32和MSDOS生成程序,以及Intel和Motorola hex文件(如果您为嵌入式系统编写程序,这将非常有用)。对于MSDOS输出,您的程序将使用 DOS扩展程序。该程序的作者还生成CC386编译器,该编译器也在此页面上列出 。

PCC - 便携式C编译器
PCC基于SC Johnson的原始Portable C Compiler。该项目的目标是编写一个可以编译C99源代码的小型快速C编译器。编译器是一个在OpenBSD和NetBSD上运行的双程编译器。

德斯梅特C.
对于那些在20世纪80年代用C语言编程的人来说,DeSmet C会很熟悉。它是MSDOS C编译器。它已经在GNU GPL下发布,并附带手册,编辑器和第三方优化器。

适用于Mac OS X的Apple Xcode
Xcode是Apple的集成开发环境,包括语法高亮编辑器,构建控制系统,调试器,GNU C编译器(gcc),界面构建器,AppleScript Studio,Java开发支持,WebObjects开发工具等。您需要成为Apple Developer Connection(ADC)成员以获取工具,但似乎在线会员资格是免费的。

Tiny C编译器 - 最小的Linux C编译器
[ 更新:作者在网站上说他不再使用编译器了。请参阅本页的其他地方,了解该项目的一个分支,在编写本文时仍在进行。]这个小型Linux和 Windows C编译器生成优化的x86本机二进制文件。它据称比GCC快几倍地编译,组装和链接。编译器目前正在向ISO C99合规性方向发展。它还包括一个可选的边界检查器。它还处理C脚本文件(只需将shebang行“ #!/usr/local/bin/tcc -run” 添加到Linux上C源代码文件的第一行,直接执行它)。TCC根据GNU通用公共许可证分发。

便携式对象编译器
这是一组Objective C类库和一个将Objective C代码转换为纯C代码的编译器。它适用于Windows, Linux,OS / 2,Macintosh等。

Mingw32 C&C ++编译器
该系统附带GNU C / C ++编译器,可用于生成Win32可执行文件。它有自己的<windows.h>,它位于公共领域。使用此系统生成的应用程序应该比Cygwin32系统生成的应用程序更快(参见本页其他地方),并且它们不受GNU许可证的影响。与基于GNU工具的其他系统一样,Mingw32配备了各种编程工具,例如程序维护程序(即make),文本处理工具(sed,grep),词法分析器生成器(flex),解析器生成器(bison)它还附带了一个资源编译器,允许您编译Windows资源。

GNU C / C ++编译器
这是GNU C编译器页面,您可以从中获取GNU C编译器的二进制文件和源代码的链接。您还可以使用此页面上的链接获取最常请求的二进制版本(MSDOS和Win32)。

Pelles C编译器
这是另一个基于LCC的Windows托管的C编译器(另请参见本页其他地方的LCC-Win32 )。它包含C编译器,链接器,资源编译器,消息编译器,make实用程序等。它编译Windows和Pocket PC的代码。

DJGPP C和C ++编译器
这是一个基于着名的GNU C / C ++编译器的开发系统。它生成32位MSDOS可执行文件,这是Windows 95长文件名感知。它是一个非常完整的系统,包括IDE,图形库,词法分析器生成器(flex),解析器生成器(bison),文本处理实用程序(如grep,sed),程序维护实用程序(即make),dos扩展程序,以及等等。编译器,实用程序和库附带源代码。

基于Cilk ANSI C的编译器
Cilk是一种基于ANSI C的语言,可用于多线程并行编程。它“对于在数据并行或消息传递方式中利用动态,高度异步并行性特别有效”。他们的网站提到Cilk已经被用来开发三个世界级的国际象棋程序,StarTech,Socrates和Cilkchess。

Sphinx C--编译器
这个MSDOS编译器是一种混合C编译器和汇编器,它允许您“创建具有C的强大功能和可读性的程序,同时保持汇编语言的效率。” 它可以生成MSDOS可执行文件或.OBJ文件,您可以将这些文件与其他链接器一起使用以生成可执行文件。上面的链接指向编译器的源代码和文档。如果你想要一个预编译的二进制文件,你可以从Unofficial Sphinx C--编译器站点获得它。

LSI C-86 C编译器
这个编译器的网站是用日语编写的,我不明白,但我认为这是一个允许你生成ROMable代码的交叉编译器。编译器的旧版本(3.30c)似乎是免费的。免费版仅在MSDOS上运行 。

SDCC C交叉编译器
这是一个针对Intel 8051,DS390,Z80,HC08和PIC微处理器的C交叉编译器。它也可以重新定位到其他8位MCU或PIC。它带有一个可重定向的汇编器和链接器,一个源代码级调试器和一个模拟器,它具有各种优化功能。这些库与标准C99兼容。编译器的源代码在GPL下可用。支持的主机平台包括Linux,Windows,Mac OS X,Alpha,Sparc等。

LADSoft CC386 C编译器
这是用于MSDOS / DPMI和Win32的ANSI C编译器,它带有运行时库,链接器,基本调试器,DOS扩展器(MSDOS版本),IDE(Win32版本)和make实用程序。源代码也可用。它在C99兼容模式下运行时编译大多数C99构造。

Cygwin项目(C&C ++编译器)
这个“项目”包括一个生成Win32 GUI和控制台应用程序的商业质量编译器(GNU C / C ++)。我自己没有使用过这个端口,但根据我读到的内容,它们似乎有自己的<windows.h>等等。提供了编译器,库和工具的源代码。请注意,如果您编译并链接其库,则此程序包中的默认选项会强制您分发源代码。您还可以调用一个特殊选项,使其与其他库链接,从而允许您在没有源的情况下分发应用程序。

LCC - ANSI C的可重定向编译器
LCC是一个C编译器(仅限源代码),可为Alpha,Sparc,MIPS R3000和Intel x86生成代码。还有一本书 由编译器的作者编写的A Retargetable C Compiler,它解释了C编译器的代码。上面的链接指向较新版本的LCC(由同一作者),而不是书中描述的。

旋风C
Cyclone C不是严格的ANSI C编译器,而是C语言的“安全方言”的编译器。它强制执行类型安全,具有各种检查以防止缓冲区溢出,阵列绑定违规等。它目前适用于 Linux和Windows(后者通过Cygwin),并要求您在系统上安装GNU编译器工具(参见本页其他地方 )。

莱昂纳多IDE
[ 更新:此项目已停止使用。] Leonardo IDE是基于Macintosh的IDE,编译器和C程序调试器。它具有语法高亮编辑器,ANSI C编译器,ALPHA可视化语言编译器,图形编辑器,可逆虚拟CPU等。请注意,程序不是编译为本机代码,而是编译为虚拟执行中央处理器。虚拟机和调试器允许您向前和向后执行代码并支持多任务处理。IDE附带动画算法,以及俄罗斯方块,Checkers等游戏的示例源代码.IDE可用于检查和调试源代码,搜索内存泄漏等。

Turbo C 2.01
用于DOS的旧的但着名的Turbo C 2.01 可以从(以前的)Borland开发工具的新所有者免费获得。这是MSDOS时代备受喜爱的编译器,以其快速编译时间,集成开发环境(“IDE”)和(基于DOS)图形库而闻名。

Ch Embeddable C / C ++口译员(标准版)
Ch是一个C / C ++解释器,支持ISO 1990 C标准(C90),C99中的主要特性(复数,可变长度数组或VLA,类型泛型函数,“long long”数据类型等),C ++中的类和C语言的扩展,如嵌套函数,字符串类型等。它可以嵌入到其他应用程序和硬件中,并用作脚本语言。您的C / C ++代码直接解释,无需编译到中间代码。由于它支持 Linux,Windows,MacOS X,Solaris和HP-UX,因此一旦您为此编译器编写代码,就意味着您的代码应该可以移植到任何这些平台。标准版可免费用于个人,学术和商业用途。您需要注册才能下载该软件包。

LCC-Win32 C编译器
[ 更新:此编译器不再可用。为了记录,它曾经在 www.cs.virginia.edu/~lcc-win32/。]这是一个生成Win32 GUI和控制台应用程序的C编译器。它带有自己的链接器,IDE,调试器,资源编辑器和资源编译器。LCC-Win32基于LCC编译器(参见本页其他地方),仅供非商业用途免费使用。

Compaq C编译器
[ 更新:此编译器不再可用。为了记录,以前可以找到它 h30097.www3.hp.com/linux/compaq_c/index.html。] Linux / Alpha用户现在只需填写表格并同意他们的许可协议即可免费下载和使用Compaq的优化C编译器。编译器可用于生成任何类型的程序,商业或其他程序。编译器包括一个数学库和一个从True64 Unix移植的调试器(ladebug)。它附带了常用的手册页以及语言参考手册和程序员指南。





















编译器自行百度哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-25 23:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表