http://www.csdn.net/article/2013-11-27/2817632 的对Stanley B.Lippman采访提到clang的一些优点,以前程序员杂志也写过,为了提高系统的性能决定试试。
clang的优点有很多的资料介绍,经过试用简要总结几点
1 速度开
2 C++11支持好
3 编译严格,出错信息比gcc明确
...
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 勘误和代码
基础知识和扫盲参考
http://blog.csdn.net/snsn1984/article/category/1249418
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.html
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++的库编译等情况继续总结。