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

具体配置详细参考

http://pan.baidu.com/s/1nGab5

后续再把实验的c++的库编译等情况继续总结。

clang LLVM 介绍和安装(Ubuntu10 64位)的更多相关文章

  1. clang编译mysql(Ubuntu10 64位)

    编译安装mysql(Ubuntu10 64位) http://www.cnblogs.com/2018/p/3482259.html 这个介绍了gcc形式编译安装mysql 那我们使用clang进行编 ...

  2. VMware虚拟机下如何安装一个64位的win7系统

    原文地址:http://www.xitongcheng.com/jiaocheng/win7_article_21001.html VMware虚拟机软件可以在一台电脑上运行多个操作系统,一些网友想在 ...

  3. Centos6.5 安装 Oracle11gR2(64位)

    Centos6.5安装 Oracle11gR2(64位) 安装centos6.5 (我的是虚拟机环境) 1.  下载centos6.5的安装包,不解释. 例如以下图: 2.  下载oracle安装包, ...

  4. ThinkPad X260 UEFI安装 win7 64位 方法

    ThinkPad X260   UEFI安装 win7 64位 方法 1.使用DG重新格式化硬盘,格式为GPT 2.使用CGI  安装 WIM文件 (image不知是否可以,下次测试) 3.改BIOS ...

  5. H310C,B365,M.2 NVME SSD,USB3.0,安装 WIN7 64 位

    华擎H310CM ITX NVME SSD 上安装WIN7 64位 核心关键点:xHCI USB3.0驱动,nvme驱动,nvme win7补丁. 硬件配置:I5 9400F, 华擎H310CM IT ...

  6. linux下安装oracle11g 64位最简客户端(转)

    安装环境 Linux服务器:SuSe11 sp1 64位           Oracle客户端:Oracle11gR2 64位(最简客户端) 部署流程 1.准备工作,首先在oracle官网下载最新的 ...

  7. hadoop-1.2.1-1.x86_64.rpm、jdk-7u45-linux-x64.tar.gz安装(64位)

    一,   配置信息 机器是64位,所以操作系统.软件都是64位的. 操作系统:CentOS6.2(64位): Hadoop是hadoop-1.2.1-1.x86_64.rpm: JDK是jdk-7u4 ...

  8. win7下matplotlib安装(64位)

    前段时间爬了一些数据,想着以后要将数据的分析结果什么的展示出来,就想着下个MATLAB,某天在微信上的一篇文章发现matplotlib库,是用于Python的一个不错的图形化库,就想着装上耍耍.不过安 ...

  9. Oracle安装:64位电脑安装64位Oracle、PLSQL步骤

    步骤: 1.安装64位Oracle 2.安装64位PLSql 3.将11.2.0.win32的压缩包解压,放在Oracle的安装目录:product下 4.配置PLSQL参数: Tools -> ...

随机推荐

  1. Network - SSH

    SSH(Secure Shell) https://wiki.wireshark.org/SSH   SSH 协议与OpenSSH详解 http://my.oschina.net/liting/blo ...

  2. PhoneGap在iOS开发下的注意事项

    敏捷个人应用主要是在Andorid下开发,发布的也主要是Andorid.之所以没有急着退出iOS版本,主要是因为开发iOS需要iOS的开发环境,发布还需要开发者账号,这些都需要资源或钱.而最近越来越多 ...

  3. ansible入门

    前言 最近看了一下ansible,挺火的一个配置管理工具,对比老大哥puppet,使用起来要简单一些,并且可以批量执行命令,对比同是python语言编写的saltstack,不需要安装客户端(基于pa ...

  4. 基于HTML5的WebGL设计汉诺塔3D游戏

    在这里我们将构造一个基于HT for Web的HTML5+JavaScript来实现汉诺塔游戏. http://hightopo.com/demo/hanoi_20151106/index.html ...

  5. 【Swift学习】Swift编程之旅---扩展(二十四)

    扩展就是向一个已有的类.结构体或枚举类型添加新功能,包含属性和方法,如果你定义了一个扩展向一个已有类型添加新功能,那么这个新功能对该类型的所有已有实例中都是可用的,即使它们是在你的这个扩展的前面定义的 ...

  6. 脚本引用中的defer和async的用法和区别

    之前的博客漫谈前端优化中的引用资源优化曾经提到过脚本引用异步设置defer.async,没有细说,这里展开一下,谈谈它们的作用和区别,先上张图来个针对没用过的小伙伴有个初始印象: 是的,就是在页面脚本 ...

  7. C#控件绑定数据源方式

    1:控件数据源绑定泛型Dictionary<string,string> ): Dictionart<string,string> D=new Dictionary(strin ...

  8. Apache+PHP 配置随笔

    准备安装包 1:安装VC++ 2012(vcredist_x64,我这边服务器为64位) 2:Apache安装包,php安装包 安装后配置工作 1:安装Apache服务,配置环境变量 httpd -k ...

  9. Lesson: The "Hello World!" Application

    Lesson: The "Hello World!" Application The sections listed below provide detailed instruct ...

  10. jquery可见性选择器(匹配匹配所有显示的元素)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...