clang

C語言等的輕量級編譯器

Clang是一個C語言、C++、Objective-C語言的輕量級編譯器。源代碼發佈於BSD協議下。

簡介


Clang是一個由Apple主導編寫,基於LLVM的C/C++/Objective-C編譯器
2013年4月,Clang已經全面支持C++11標準,並開始實現C++1y特性(也就是C++14,這是C++的下一個小更新版本)。Clang將支持其普通lambda表達式、返回類型的簡化處理以及更好的處理constexpr關鍵字。
Clang是一個C++編寫、基於LLVM、發佈於LLVM BSD許可證下的C/C++/Objective-C/Objective-C++編譯器。它與GNU C語言規範幾乎完全兼容(當然,也有部分不兼容的內容,包括編譯命令選項也會有點差異),並在此基礎上增加了額外的語法特性,比如C函數重載(通過__attribute__((overloadable))來修飾函數),其目標(之一)就是超越GCC
Clang的官方文檔:

特色


終端用戶特色:
快速編譯和較少內存佔用;有診斷功能;兼容GCC;
實用工具和應用:
基礎架構模塊庫;可滿足多樣的客戶需求(代碼重構,動態分析代碼生成,等);允許集成到各種IDE中;使用LLVM'BSD'協議;
內部設計與實現:
一個不可移植的代碼庫;一個為C語言、Objective-C、C++、Objective-C++設計的非通用(Non general-purpose)的語法解析器;與C/C++/Objective-C及它們的衍生語言具有高度一致性;