什么是clang

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
发布了63 篇原创文章 · 获赞 11 · 访问量 4343

猜你喜欢

转载自blog.csdn.net/qq_38145502/article/details/104544569