Clang、GCC和LLVM是什么

GNU编译器套装(英语:GNU Compiler Collection,缩写为GCC),指一套编程语言编译器GPLLGPL许可证所发行自由软件原名为GNU C语言编译器GNU C Compiler),因为它原本只能处理C语言。GCC在发布后很快地得到扩展,变得可处理C++。之后也变得可处理FortranPascalObjective-CJavaAdaGo与其他语言。有C++语言编写而成。

Clang(发音为/ˈklæŋ/类似英文单字clang[1]) 是一个CC++Objective-CObjective-C++编程语言的编译器前端。它采用了LLVM作为其后端。它的目标是提供一个GNU编译器套装(GCC)的替代品,支持了GNU编译器大多数的编译设置以及非官方语言的扩展。源代码许可是使用类BSD的伊利诺伊大学厄巴纳-香槟分校开源码许可。Clang项目包括Clang前端和Clang静态分析器等。

LLVM是一个自由软件项目,它是一种编译器基础设施,以C++写成,包含一系列模块化的编译器组件和工具链,用来开发编译器前端后端。它是为了任意一种编程语言而写成的程序,利用虚拟技术创造出编译时期链接时期运行时期以及“闲置时期”的最优化。

原文地址:https://www.cnblogs.com/hercules-chung/p/12438808.html