1. 程式人生 > 其它 >編譯器介紹 - LLVM、GCC、Clang

編譯器介紹 - LLVM、GCC、Clang

LLVM

雖然是叫這個名字,但是和虛擬機器沒什麼關係,這不是一個縮寫,就是這個專案的全名。是伊利諾伊大學為了提供一個現代的、基於 SSA(靜態單一賦值) 的、可以動態、靜態編譯任何程式語言的編譯方案而開展的研究專案,核心是個編譯器工具集。

GCC

GNU(作業系統)編譯器套裝(the GNU Compiler Collection)。是許多現代類 Unix 作業系統預設的編譯器,包括 Mac OSX 系統,但後來 Mac OSX 改為用 Clang 編譯器了。

Clang

是 LLVM 編譯器工具集的前端,輸出程式碼對應的抽象語法樹(AST),再編譯成LLVM Bitcode,由後端使用 LLVM 編譯成平臺相關的機器程式碼。因為 GCC 使用 GPL 協議(反版權),因此 Apple 無法閉源使用修改版的 GCC,而 LLVM 支援 BSD 協議(商業友好),於是有了 Clang。


┆涼┆暖┆降┆等┆幸┆我┆我┆裡┆將┆ ┆可┆有┆謙┆戮┆那┆ ┆大┆始┆ ┆然┆
┆薄┆一┆臨┆你┆的┆還┆沒┆ ┆來┆ ┆是┆來┆遜┆沒┆些┆ ┆雁┆終┆ ┆而┆
┆ ┆暖┆ ┆如┆地┆站┆有┆ ┆也┆ ┆我┆ ┆的┆有┆精┆ ┆也┆沒┆ ┆你┆
┆ ┆這┆ ┆試┆方┆在┆逃┆ ┆會┆ ┆在┆ ┆清┆來┆準┆ ┆沒┆有┆ ┆沒┆
┆ ┆生┆ ┆探┆ ┆最┆避┆ ┆在┆ ┆這┆ ┆晨┆ ┆的┆ ┆有┆來┆ ┆有┆
┆ ┆之┆ ┆般┆ ┆不┆ ┆ ┆這┆ ┆裡┆ ┆沒┆ ┆殺┆ ┆來┆ ┆ ┆來┆