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. Elasticsearch 管理文档

    ES支持近实时的索引.更新.查询.删除文档,近实时就意味着刚刚索引的数据需要1秒钟后才能搜索到,这也是与传统的SQL数据库不同的地方. 更多的ES文档资料参考:Elasticsearch官方文档翻译 ...

  2. 实现winform DataGridView控件判断滚动条是否滚动到当前已加载的数据行底部

    判断 DataGridView控件滚动条是否滚动到当前已加载的数据行底部,其实方法很简单,就是为DataGridView控件添加Scroll事件,然后写入以下代码就可以了,应用范围:可实现分部加载数据 ...

  3. 浅谈Jquery中的bind(),live(),delegate(),on()绑定事件方式

    前言 因为项目中经常会有利用jquery操作dom元素的增删操作,所以会涉及到dom元素的绑定事件方式,简单的归纳一下bind,live,delegate,on的区别,以便以后查阅,也希望该文章日后能 ...

  4. RichTextBoxEx2

    using System;using System.Collections.Specialized;using System.Drawing;using System.Drawing.Imaging; ...

  5. Android流量控制——列表页面

    1.最简单的模式: 设计: 1.将页码值传给服务器,让服务器返回对应的页码数据 2.数据缓存:只缓存第一页数据. 好处: 1.实现简单.无脑 坏处: 1.浪费流量,如果用户一直在等某个人发送消息的话. ...

  6. Gson操作json

    github:https://github.com/google/gson API:http://google.github.io/gson/apidocs/ 示例对象 package present ...

  7. 实时数据显示--SignalR实例演示

    近段时间,有实现一个看板的功能,就是用户更新信息时,即是对数据库的数据进行插入,更新,或是删除时,在墙上的屏幕的数据不需要人为去刷新,用户就能看到更新后的数据. 实现此功能,Insus.NET使用Si ...

  8. 【C#】分享一个可灵活设置边框的Panel

    ---------------------------更新:2014-05-19--------------------------- 优化了一下逻辑,就是既然可以通过设置BorderSide=Non ...

  9. ASP.NET MVC 请求流程:Controller

    1.请求进入时,.NET Framework就找出所有的HttpModule,以此调用它们的Init方法,如下图所示,我们重点关注"UrlRoutingModule-4.0"的Ht ...

  10. 15天玩转redis —— 第三篇 无敌的列表类型

     据说60%的人使用redis看重的是redis中的list类型,那这个list有什么用呢???不用我说大家都明白,做队列使用呗,为什么用它呢,很简单呗, 因为有了它我就不需要专门的MQ产品啦,比如说 ...