业界编译器Clang介绍

时间:2021-10-01 02:05:20

http://baike.baidu.com/link?url=2cAQ-ZePNxPoPNll06fdZKaG5oSOpAhfmCoJ5hIS1sBG1Psy9c8wlcguVAsronSVYDc5TH7PSQJMDoVW2AvJ7q


Clang是一个C语言C++Objective-C、Objective-C++语言的轻量级编译器源代码发布于BSD协议下.

简介编辑

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++设计的通用的语法解析器;与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  
 
参考资料