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. S Gallery – 很有特色的响应式 jQuery 相册插件

    S Gallery 是一款响应式的 jQuery 相册插件.使用了 HTML5 全屏 API 以及 CSS3 动画 和 CSS3 转换,所以只能在支持这些功能的浏览器中使用. 这款插件它有一个特色功能 ...

  2. Elasticsearch集群配置以及REST API使用

    ES安装与启动 在官网下载压缩包,解压后直接运行bin目录下的.bat文件即可.下载地址戳这里. ES配置集群 Elasticsearch配置集群很简单,只要配置一个集群的 名称 ,ES就会自动寻找并 ...

  3. 第24/24周 数据库维护(Database Maintenance)

    哇哦,光阴似箭!欢迎回到性能调优培训的最后一期.今天我会详细讲下SQL Server里的数据库维护,尤其是索引维护操作,还有如何进行数据库维护. 索引维护 作为一个DBA,数据库维护是你工作中非常重要 ...

  4. 扩展HT for Web之HTML5表格组件的Renderer和Editor

    在HT for Web提供了一下几种常用的Editor,分别是: slider:拉条 color picker:颜色选择器 enum:枚举类型 boolean:真假编辑器 string:普通的文本编辑 ...

  5. H5新特性websocket

    websocket也是html5的新增加内容之一,号称是下一代客户端/服务器异步通信办法,私以为虽然有点吹牛的成分,但是以后说不定能成为异步通信的半壁江山,至于取代ajax,我觉的应该不会. webs ...

  6. VMware中网络设置之Bridged

    1.设置linux虚拟机Bridged模式. 2.查找网关地址:点击虚拟机工具栏编辑---Virtual Network Editor,选中VMnet0,然后在Bridged to 下拉框中选择可以本 ...

  7. 提取KIndle中每本书的笔记并单独保存

    整体思路 目标:将Kindle中的每本书的笔记标注单独提取出保存为一个Markdown文件 其中检测KIndle是否已经正常插入的判断方法: 思路1:读取媒介挂载记录 思路2:直接判断挂载地址是否存在 ...

  8. Git版本控制工具学习

    Git代码管理工具学习 分布式管理工具:git 相比较svn它更加的方便,基本上我们的操作都是在本地进行的. Git文件的三种状态:已提交,已修改,以暂存. 已提交:表示文件已经被保存到本地数据库. ...

  9. DirectShowLib directshownet 视频

    using DirectShowLib; using System; using System.Collections; using System.Windows.Forms; namespace C ...

  10. MySQL 函数大全

    mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NU ...