本文部份內容引用:
中文維基百科。
結構化編譯器前端--clang介紹。前端
clang是LLVM編譯器工具集的一個用於編譯C、C++、Objective-C的前端。LLVM項目的目標是提供一個GNU編譯器套裝(gcc)的替代品,由蘋果公司的贊助開發,其源代碼受權採用的是類BSD的伊利諾伊大學厄巴納-香檳分校開源碼許可。python
相比於gcc,clang具備以下優勢:git
當前 Clang 還處在不斷完善過程當中,相比於gcc, clang在如下方面還須要增強:github
純Windows環境:
能夠從http://llvm.org/releases/下載相應的安裝包進行安裝。目前最新版本爲3.8。
shell
apt-cyg install clang
sudo yum install clang
sudo apt-get install clang-3.4 clang-3.4-doc libclang-common-3.4-dev libclang-3.4-devlibclang1-3.4 libclang1-3.4-dbg libllvm-3.4-ocaml-dev libllvm3.4 libllvm3.4-dbg lldb-3.4 llvm-3.4 llvm-3.4-dev llvm-3.4-doc llvm-3.4-examples llvm-3.4-runtime clang-modernize-3.4 clang-format-3.4 python-clang-3.4 lldb-3.4-dev
git clone git@github.com:llvm-mirror/llvm.git
cd llvm/tools git clone git@github.com:llvm-mirror/clang.git
cd ../projects git clone git@github.com:llvm-mirror/compiler-rt.git
cd ../.. mkdir build cd build ../llvm/configure --enable-optimized --enable-assertions make make install
clang的用法與gcc基本相同,咱們能夠寫一個腳原本驗證一下編譯器是否已經安裝完成:模塊化
import os import sys import shutil if not len(sys.argv) in range(2, 3): print("Usage: hello_c.py <compiler>") exit(1) code = "#include <stdio.h>\n int main(void) { printf(\"hello world!\\n\"); return 0;} " if(not os.path.exists("example")): os.mkdir("example") file = open(r"example/hello.c",'w') file.writelines(code) file.close() cmd = sys.argv[1] + r" example/hello.c -o example/test.exe" os.system(cmd) os.system(r"example/test.exe") if(os.path.exists("example")): shutil.rmtree("example")
而後,咱們只須要在shell中輸入python hello_c.py clang
便可,若是看到輸出一行「hello world」說明編譯器已經能夠正常工做。
tornado