clang LLVM 介绍和安装(Ubuntu10 64位)
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++的库编译等情况继续总结。
clang LLVM 介绍和安装(Ubuntu10 64位)的更多相关文章
- clang编译mysql(Ubuntu10 64位)
编译安装mysql(Ubuntu10 64位) http://www.cnblogs.com/2018/p/3482259.html 这个介绍了gcc形式编译安装mysql 那我们使用clang进行编 ...
- VMware虚拟机下如何安装一个64位的win7系统
原文地址:http://www.xitongcheng.com/jiaocheng/win7_article_21001.html VMware虚拟机软件可以在一台电脑上运行多个操作系统,一些网友想在 ...
- Centos6.5 安装 Oracle11gR2(64位)
Centos6.5安装 Oracle11gR2(64位) 安装centos6.5 (我的是虚拟机环境) 1. 下载centos6.5的安装包,不解释. 例如以下图: 2. 下载oracle安装包, ...
- ThinkPad X260 UEFI安装 win7 64位 方法
ThinkPad X260 UEFI安装 win7 64位 方法 1.使用DG重新格式化硬盘,格式为GPT 2.使用CGI 安装 WIM文件 (image不知是否可以,下次测试) 3.改BIOS ...
- 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 ...
- linux下安装oracle11g 64位最简客户端(转)
安装环境 Linux服务器:SuSe11 sp1 64位 Oracle客户端:Oracle11gR2 64位(最简客户端) 部署流程 1.准备工作,首先在oracle官网下载最新的 ...
- 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 ...
- win7下matplotlib安装(64位)
前段时间爬了一些数据,想着以后要将数据的分析结果什么的展示出来,就想着下个MATLAB,某天在微信上的一篇文章发现matplotlib库,是用于Python的一个不错的图形化库,就想着装上耍耍.不过安 ...
- Oracle安装:64位电脑安装64位Oracle、PLSQL步骤
步骤: 1.安装64位Oracle 2.安装64位PLSql 3.将11.2.0.win32的压缩包解压,放在Oracle的安装目录:product下 4.配置PLSQL参数: Tools -> ...
随机推荐
- Oracle存储过程获取YYYY-MM-DD的时间格式
环境:Oracle 10g,11g 问题重现:PL/SQL中命令窗口下,发现存储过程得到的时间格式不符合预期要求. SQL> select sysdate from dual; SYSDATE ...
- jQuery.queue源码分析
作者:禅楼望月(http://www.cnblogs.com/yaoyinglong ) 队列是一种特殊的线性表,它的特殊之处在于他只允许在头部进行删除,在尾部进行插入.常用来表示先进先出的操作(FI ...
- 【Android】[转] ANR的分析和问题处理
一:什么是ANR ANR:Application Not Responding,即应用无响应 二:ANR的类型 ANR一般有三种类型: 1. KeyDispatchTimeout(5 seconds) ...
- MyBaits学习
一:配置MyBaits的开发环境 1.1.核心配置文件 正如hibernate一样,MyBaits也有一个核心的配置文件,它包含着数据源地址,用户名,密码等,还有着各个实体类的配置文件,配置文件是xm ...
- 深度学习中的Data Augmentation方法(转)基于keras
在深度学习中,当数据量不够大时候,常常采用下面4中方法: 1. 人工增加训练集的大小. 通过平移, 翻转, 加噪声等方法从已有数据中创造出一批"新"的数据.也就是Data Augm ...
- 【原创】Kakfa network包源代码分析
kafka.network包主要为kafka提供网络服务,通常不包含具体的逻辑,都是一些最基本的网络服务组件.其中比较重要的是Receive.Send和Handler.Receive和Send封装了底 ...
- 使用OWIN 为WebAPI 宿主 跨平台
OWIN是什么? OWIN的英文全称是Open Web Interface for .NET. 如果仅从名称上解析,可以得出这样的信息:OWIN是针对.NET平台的开放Web接口. 那Web接口是谁和 ...
- 能分组的GridView
有天在想工作上的事的时候,看着.net原有的DataGridView,想起以前我写过的一篇文章,总结了一个好的Gird控件应该具备哪些功能,在那里我提及到了分组功能,就像jqGrid那样, 其实这样的 ...
- 不可或缺 Windows Native (23) - C++: 虚函数
[源码下载] 不可或缺 Windows Native (23) - C++: 虚函数 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 虚函数 示例1.基类CppHuman ...
- How to throw an error in MySql procedure?
http://stackoverflow.com/questions/4862911/how-to-throw-an-error-in-mysql-procedure 9down votefavori ...