什么是clang

烈酒焚心 提交于 2020-02-28 00:54:06

clang

 

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

 

简介

Clang是一个由Apple主导编写,基于LLVM的C/C++/Objective-C编译器

2013年4月,Clang已经全面支持C++11标准,并开始实现C++1y特性(也就是C++14,这是C++的下一个小更新版本)。Clang将支持其普通lambda表达式、返回类型的简化处理以及更好的处理constexpr关键字。 [2] 

Clang是一个C++编写、基于LLVM、发布于LLVM BSD许可证下的C/C++/Objective-C/Objective-C++编译器。它与GNU C语言规范几乎完全兼容(当然,也有部分不兼容的内容,包括编译命令选项也会有点差异),并在此基础上增加了额外的语法特性,比如C函数重载(通过__attribute__((overloadable))来修饰函数),其目标(之一)就是超越GCC。 [1] 

Clang的官方文档: [1] 

特色

终端用户特色:

快速编译和较少内存占用 [3]  ;有诊断功能;兼容GCC

实用工具和应用:

基础架构模块库;可满足多样的客户需求(代码重构,动态分析,代码生成,等);允许集成到各种IDE中;使用LLVM'BSD'协议;

内部设计与实现:

一个不可移植的代码库;一个为C语言Objective-CC++、Objective-C++设计的非通用(Non general-purpose)的语法解析器;与C/C++/Objective-C及它们的衍生语言具有高度一致性;

C 编程语言

函式库
▪ C 标准函式库 ▪ glibc ▪ Dietlibc
▪ uClibc ▪ Newlib ▪ EGLIBC
▪ Bionic    
 
特性
▪ String ▪ Syntax ▪ Preprocessor
▪ Variable types and declarations ▪ Functions  
 
延伸的相关编程语言
▪ C++ ▪ Objective-C ▪ D
▪ C#    
 
C 与其他的编程语言
▪ Compatibility ▪ 运算子 ▪ Comparison of Pascal and C
▪ C to Java byte-code compiler    
 
编译器
▪ Borland Turbo C ▪ Clang ▪ GCC
▪ LCC ▪ Pelles C ▪ PCC
▪ TCC ▪ Visual C++ ▪ C++/CLI
▪ C++/CX ▪ Watcom C/C++ compiler
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!