Clang LLVM的C語言家族前端

2021-10-12 20:55:16 字數 1023 閱讀 9701

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 ++狀態頁面以獲取更多資訊。

Python語言家族

在這裡插入描述 一 python語言家族 1 introduction 1.1 python 簡介 python 是乙個高層次的結合了解釋性 編譯性 互動性和物件導向的指令碼語言。簡單來說,python是一門程式語言,幫助我們更好的與計算機溝通,功能全面 易學易用 可拓展語言,所以說,人生苦短,我學...

c語言printf大家族系列

這個最常用,作用是在螢幕上列印格式化的字串 int printf const char format,第乙個引數是字串,第二個引數是 是不定引數,返回值是格式化後的字串長度,其中 n t這種轉義符算乙個,中文算兩個長度 include intmain void 這個用來格式化字串的,格式化好的字串返...

C中str家族和mem家族的簡介

在c語言中,str和mem是常用於進行陣列類資料的操作,而str型別的函式一般適用於字元類資料的操作,mem型別的函式適用於各種型別資料的操作,本文對這兩種型別進行簡單的介紹。個人覺得mem和str這兩者的最大區別在於處理的陣列中是否有null這個符號,即mem可以處理有null的陣列,而str無法...