LLVM 與 Clang 介紹
LLVM 是 Low Level Virtual Machine 的簡(jiǎn)稱,這個(gè)庫(kù)提供了與編譯器相關(guān)的支持,能夠進(jìn)行程序語(yǔ)言的編譯期優(yōu)化、鏈接優(yōu)化、在線編譯優(yōu)化、代碼生成。
Clang 是一個(gè) C++ 編寫、基于 LLVM、發(fā)布于 LLVM BSD 許可證下的 C/C++/Objective C/Objective C++ 編譯器,其目標(biāo)(之一)就是超越 GCC。
Clang 的特性
快 內(nèi)存占用小 診斷信息可讀性強(qiáng) GCC 兼容性 設(shè)計(jì)清晰簡(jiǎn)單,容易理解,易于擴(kuò)展增強(qiáng) 基于庫(kù)的模塊化設(shè)計(jì)
官方主頁(yè) http://llvm.org/
LLVM 3.1 Release Notes http://llvm.org/releases/3.1/docs/ReleaseNotes.html
Clang 3.1 Release Notes http://llvm.org/releases/3.1/docs/ClangReleaseNotes.html
下載地址 http://llvm.org/releases/download.html
Experimental Clang Binaries for Mingw32/x86 (69M)下載地址
http://llvm.org/releases/3.1/clang+llvm-3.1-i386-mingw32-EXPERIMENTAL.tar.bz2
若感興趣的可以下載源代碼自己重新編譯,不過(guò)需要很長(zhǎng)時(shí)間
./configure --prefix=/mingw --enable-optimized --disable-assertions
make
make install
測(cè)試寫個(gè)hello.c
#include "stdio.h"
int main(){
printf("Hello Clang!!");
return 0;}
clang -v hello.c