http://www.csdn.net/article/2013-11-27/2817632 的對Stanley B.Lippman採訪提到clang的一些優勢,之前程序員雜誌也寫過,爲了提升系統的性能決定試試。html
clang的優勢有不少的資料介紹,通過試用簡要總結幾點linux
1 速度開c++
2 C++11支持好程序員
3 編譯嚴格,出錯信息比gcc明確web
...ubuntu
C++11
http://product.china-pub.com/3801275 深刻理解C++11:C++11新特性解析與應用
https://www.ibm.com/developerworks/community/forums/html/forum?id=5ac1dd9a-5a96-48e1-9eeb-7fe78636e1af&ps=10 勘誤和代碼bash
基礎知識和掃盲參考
http://blog.csdn.net/snsn1984/article/category/1249418visual-studio
http://llvm.org/releases/3.3/clang+llvm-3.3-amd64-Ubuntu-10.04.4.tar.gz
http://llvm.org/releases/3.3/libcxx-3.3.src.tar.gz
以上的安裝包clang對應C++11的libcxx庫,包含了頭文件,但lib不包含,須要從libcxx-3.3.src.tar.gz編譯出來
實驗一個簡單的程序
http://www.ibm.com/developerworks/cn/opensource/os-cn-clang/
大同小異,clang3.3版本把編譯和鏈接程序統一成一個了
http://clang.llvm.org/cxx_status.html C++的支持狀況性能
http://www.cnblogs.com/qoakzmxncb/archive/2013/04/18/3029105.htmlui
GCC,LLVM,Clang編譯器對比
http://cpprocks.com/c11-compiler-support-shootout-visual-studio-gcc-clang-intel/
C++編譯器比較
http://blog.k-res.net/archives/1322.html
在Eclipse CDT項目中使用llvm-clang做爲編譯器並解決gdb調試不顯示變量的問題
http://blog.csdn.net/snsn1984/article/category/1249418
#!/bin/bash
#驗證機器環境
#target=x86_64-linux-gnu
#Thread model: posix
#gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)
###
pushd pkg
#1 clang 3.3
mkdir /usr/local/clang3.3
tar -xzvf clang+llvm-3.3-amd64-Ubuntu-10.04.4.tar.gz -C /usr/local/
echo 'export PATH=/usr/local/clang+llvm-3.3-amd64-Ubuntu-10.04.4/bin:$PATH'>>/etc/profile
export PATH=/usr/local/clang+llvm-3.3-amd64-Ubuntu-10.04.4/bin:$PATH
tar -xzvf libcxx-3.3.src.tar.gz -C .
#libc++的庫
pushd libcxx-3.3.src/lib
./buildit
if [ $? -ne 0 ];
then
echo -e "\e[1;41m $1 copile c11 library fail! \e[0m"
exit 1
fi
popd
#編譯開發環境 C++11庫 頭文件
# /usr/local/clang+llvm-3.3-amd64-Ubuntu-10.04.4/lib/c++/v1
#使編譯可見
cp -f libcxx-3.3.src/lib/libc++.so.1.0 /usr/lib/libc++.so.1.0
ln -s /usr/lib/libc++.so.1.0 /usr/lib/libc++.so.1
ln -s /usr/lib/libc++.so.1.0 /usr/lib/libc++.so
rm -r -f libcxx-3.3.src
#使clang可見
source /etc/profile
#
popd
具體配置詳細參考
後續再把實驗的c++的庫編譯等狀況繼續總結。