【Linux】除了gcc,还有哪些常用的编译器

编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。

下面介绍一下GCC、Clang、Visual Studio以及Eclipse

GCC

指一套编程语言编译器,GNU(gnu's not unix)编译器套装(gnu compiler collection,gcc)。以GPL及LGPL许可证所发行的自由软件,是GNU项目的关键部分,也是GNU工具链的主要组成部分之一。GCC也常被认为是跨平台编译器的实施标准。原本是用C语言开发的,后来因为LLVM、Clang的崛起,它更快的将开发语言转换为C++。原本只能处理C语言,GCC在发布后很快得到扩展,变得可以处理C++。之后也变得可以处理Fortran、Pascal、Objective-C、Java、Ada、Go与其他语言。

许多操作系统,包括许多类Unix系统都采用GCC作为标准编译器。GCC目前由世界各地不同的数个程序员小组维护。它是移植到最多中央处理器架构以及最多操作系统的编译器。已成为编译与创建其它操作系统的主要编译器。

GCC通常是跨平台软件的首选,有别于一般局限于特定系统与运行环境的编译器,GCC在所有平台上都使用同一个前端处理程序。

GCC支持的主要处理器架构:ARM、x86、x86-64、MIPS、PowerPC等。

Clang

Clang是一个C、C++、Objective-C和Objective-C++编程语言的编译器前端。源代码发布于BSD协议下。Clang将支持其普通lambda表达式、返回类型的简化处理以及更好的处理constexpr关键字。

它采用了底层虚拟机(LLVM)作为其后端,它的目标是提供一个GCC的替代品。主要由C++编写。

Clang项目包括Clang前端和Clang静态分析器等。性能优异,其生成的抽象语法树(Abstract Syntax Tree,AST)所耗用掉的内存仅仅是GCC 的20%左右。编译速度快、占用内存小易于IDE集成。

 

较早期程序设计的各个阶段都要用不同的软件来进行处理,如先用字处理软件编辑源程序,然后用链接程序进行函数、模块连接,再用编译程序进行编译,开发者必须在几种软件间来回切换操作。现在的编程开发软件将编辑、编译、调试等功能集成在一个桌面环境中,这样就大大方便了用户。接下来介绍一些集成开发环境:

Visual Studio

Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。

Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。支持C类语言、Basic类语言、Java类语言及其他语言,因其强大的功能,占用了很大的用户份额。

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,以达到对代码的编辑、编译、调试等等。

 

 

 

你可能感兴趣的:(学习与扩展)