Ⅰ c语言编程的平台是什么
c语洞芹言编程的平台是:
1、GCC,GNU组织开发的开源免费的编译器;
2、MinGW,Windows操作系统下的GCC;
3、Clang,开源的BSD协议的基于LLVM的编译银晌器;
4、Visual C++ :: cl.exe,Microsoft VC++自带的编译器。
(1)clang编译器开源协议扩展阅读
选择开发平台注意事项
一、windows
开发环境:visual studio
特点:集成开发环境、简单易用、完整的工具集
缺点:需要授权(也有免费版)体积庞大、无法学习到背后工程代码组织情况、不利于初学者掌握代码编译、链接过程、工程管理
二、unix 或者类unix (包过aix,open solaris ,*bsd, linux)
开发环境:编译工具 gcc、clang ...等等
代码编辑器:vim、emacs等
工程组织:make,CMake
特点:操作系统集成很多工具,所有的工具几乎开源且免费、短小精悍、功能强大
缺点:需要自己动手搭建开发环境、熟悉编译工具、
熟悉编辑器操作、熟悉类unix操作系统的操作。
入门门槛高需要在命令模式下使用脚本、make等工具完成开发工作纳搏毕
Ⅱ Clang 比 GCC 编译器好在哪里
编译速度更快、编译产出更小、出错提示更友好。尤其是在比较极端的情况下。
两年多前曾经写过一个Scheme解释器,词法分析和语法解析部分大约2000行,用的是Boost.Spirit——一个重度依赖C++模版元编程的框架。当时拦姿孝用g++ 4.2编译的情况是:
1.编译速度极慢:完整编译一次需要20分钟
2.编译过程中内存消耗极大:单个g++实例内存峰值消耗超过1G
3.中间产出物极大:编译出的所有.o文件加在一起大约1~2G,debug链接产物超过200M
4.编译错误极其难以理解:编译错误经常长达几十K,基本不可读,最要命的是编译错误经常会长到被g++截断,看不到真正出错的位置,基本上只能靠裸看代码来调试
这里先不论我使用Spirit的方式是不是有问题,或者Spirit框架自身的问题。我当时因为实在忍受不了g++,转而尝试clang。当时用的是clang 2.8,刚刚可以完整编译Boost,效果让我很满意:
1.编译速度有显着提升,记得大约是g++的1/3或1/4
2.编译过程中的内存消耗差别好像不大
3.中间产出物及最终链接产物,记得也是g++的1/3或1/4
4.相较于g++,编译错误可读性有所飞跃,至少不会出现编译错误过长被截断的问题了
当时最大的缺点是clang编译出的可执行文件无法用gdb调试,需要用调试器的时候还得用g++再编译一遍。不过这个问题后来解决了,我不知道是clang支持了gdb还是gdb支持了clang。至少我当前在Ubuntu下用clang 3.0编译出的二进制文件已经可以顺利用gdb调试了册羡。
最后一点,其他同学也有讲到,就是Clang采用的简稿是BSD协议。这是苹果资助LLVM、FreeBSD淘汰GCC换用Clang的一个重要原因。
Ⅲ 适合win10系统的c语言编译器
桌面操作系统
对于当前主流桌面操作系统而言,可使用 VisualC++、GCC以及 LLVM Clang 这三大编译器。
Visual C++(简称 MSVC)只能用于 Windows 操作系统;GCC 和 LLVM Clang除了可用于Windows操作系统之外,主要用于 Unix/Linux操作系统。
像现在很多版本的 Linux 都默认使用 GCC 作为C语言编译器,而像 FreeBSD、macOS 等系统默认使用 LLVM Clang 编译器。由于当前 LLVM 项目主要在 Apple 的主推下发展的,所以在 macOS中,Clang 编译器又被称为 Apple LLVM 编译器。
MSVC 编译器主要用于 Windows 操作系统平台下的应用程序开发,它不开源。用户可以使用 Visual Studio Community 版本来免费使用它,但是如果要把通过 Visual Studio Community 工具生成出来的应用进行商用,那么就得好好阅读一下微软的许可证和说明书了。
而使用 GCC 与 Clang 编译器构建出来的应用一般没有任何限制,程序员可以将应用程序随意发布和进行商用。
MSVC 编译器对 C99 标准的支持就十分有限,加之它压根不支持任何 C11 标准,所以本教程中设计 C11 的代码例子不会针对 MSVC 进行描述。所幸的是,Visual Studio Community 2017 加入了对 Clang 编译器的支持,官方称之为——Clang with Microsoft CodeGen,当前版本基于的是 Clang 3.8。
也就是说,应用于 Visual Studio 集成开发环境中的 Clang 编译器前端可支持 Clang 编译器的所有语法特性,而后端生成的代码则与 MSVC 效果一样,包括像 long 整数类型在 64 位编译模式下长度仍然为 4 个字节,所以各位使用的时候也需要注意。
为了方便描述,本教程后面涉及 Visual Studio 集成开发环境下的 Clang 编译器简称为 VS-Clang 编译器。
嵌入式系统
而在嵌入式系统方面,可用的C语言编译器就非常丰富了,比如:
用于 Keil 公司 51 系列单片机的 Keil C51 编译器;
当前大红大紫的 Arino 板搭载的开发套件,可用针对 AVR 微控制器的 AVRGCC 编译器;
ARM 自己出的 ADS(ARM Development Suite)、RVDS(RealView Development Suite)和当前最新的 DS-5 Studio;
DSP 设计商 TI(Texas Instruments)的 CCS(Code Composer Studio);
DSP 设计商 ADI(Analog Devices,Inc.)的 Visual DSP++ 编译器,等等。