Clang:LLVM的C语言家族前端
Clang:LLVM的C語言家族前端
Clang項目為LLVM 項目的C語言家族(C,C ++,Objective C / C ++,OpenCL,CUDA和RenderScript)中的語言提供了語言前端和工具基礎結構。提供了GCC兼容的編譯器驅動程序(clang)和MSVC兼容的編譯器驅動程序(clang-cl.exe)。可以立即獲取并構建源。
特點和目標
該項目的一些目標包括:
最終用戶功能:
? 快速編譯和低內存使用
? 表達診斷(示例)
? GCC兼容性
實用程序和應用程序:
? 基于模塊化庫的架構
? 支持各種客戶端(重構,靜態分析,代碼生成等)
? 允許與IDE緊密集成
? 使用LLVM’Apache 2’許可證
內部設計與實現:
? 真實的,production quality compiler產品質量的編譯器
? 一個簡單易學的代碼庫
? 適用于C,Objective C,C ++和Objective C ++的單個統一解析器
? 與C / C ++ / ObjC及其變體的一致性
當然,這只是Clang的目標和功能的粗略概述。要真正了解它的全部含義,請參閱“功能”部分,其中詳細介紹了每個功能,并對其進行了詳細說明。
為什么?
新前端的開發是從對編譯器的需求開始的,該編譯器需要更好的診斷,與IDE的更好集成,與商業產品兼容的許可證以及易于開發和維護的靈活編譯器。所有這些都是在可以滿足這些需求的新前端上開展工作的動機。
當前狀態
當針對X86-32,X86-64和ARM時,Clang被認為是產品質量的C,Objective-C,C ++和Objective-C ++編譯器(其它目標可能會有警告,但通常很容易解決)。例如,在產品中使用Clang來構建對性能至關重要的軟件,例如Chrome或Firefox。
如果正在尋找源分析或源到源轉換工具,那么Clang可能是理想選擇。Clang支持C ++ 11,C ++ 14和C ++ 17,請參閱C ++狀態頁面以獲取更多信息。
總結
以上是生活随笔為你收集整理的Clang:LLVM的C语言家族前端的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LLVM编译器架构
- 下一篇: “ compiler-rt”运行时run