SDB:安装和使用Intel C++ Compiler

跳转至: 导航, 搜索
本文说明了如何安装和使用intel的C++编译器

简介

Intel C++ Compiler,简称icc,是英特尔公司开发的C/C++编译器,适用于 Linux、Microsoft Windows、Mac OS X 以及搭载intel芯片的Android操作系统。 此编译器支持x86架构的CPU,对intel自家的处理器有很大的编译优化,并且对AMD的处理器也有一定的性能提升,使用此编译器可提高程序的运行速度,故在很多需要大量运算的场合下,很多人会考虑使用intel编译器。 但intel编译器不是开源软件,而是商业闭源软件,不过我们可以免费获得其非商业版本,既然是免费的,除了一些非开源不用的人,就可以尝试使用一下了。

下载

1.下载编译器到官网搜索下载非商业版本的icc编译器,需要注意的是,icc编译器没有单独作为一个产品提供下载,它是包含在“Intel® C++ Composer XE”里面的,所以你要下载当前最新的Intel® C++ Composer XE for Linux。

下载URL:https://software.intel.com/en-us/non-commercial-software-development

2.下载前你需要接受协议和注册邮箱,提供你的邮箱,以获取安装一个非商业版本的安装注册码。

3.注册邮箱之后,检查你的邮箱收件箱,打开intel给你发的邮件,打开下载页下载Intel® C++ Composer XE for Linux。建议下载最新完整版。

安装

1.解压(以2013版sp1为例)

$ tar xfzv l_ccompxe_2013_sp1.0.080.tgz

2.进入解压后目录

$ cd l_ccompxe_2013_sp1.0.080

3.安装有图形化安装和交互式文本安装,图形化安装方式简单方便,但不能选择安装的内容,只能完全安装,而文本安装可以定制安装的组件。

(1)图形安装 以root权限运行install_GUI.sh

# ./install_GUI.sh

然后根据提示选择安装路径和输入注册码(包含在邮件里面)。

(2)文本安装 以root权限运行install.sh

# ./install.sh

文本化安装分七步,按照提示选择和输入,并按回车键确认。

当执行到第五步的时候,可以配置安装选项,选择编译器架构,设置安装位置和组件,设置完成后即可执行安装。

安装完成后即可按回车键退出。

配置

安装完成之后不能立即使用,必须把编译器加入环境变量。

假设你选择了默认的安装位置,并且安装的是64位编译器,如果是32位则是ia32。

将如下语句加入~/.bashrc:

source /opt/intel/bin/iccvars.sh intel64

并保存退出

或者执行以下命令(只对当前用户生效):

$ echo "source /opt/intel/bin/iccvars.sh intel64" >> ~/.bashrc

你也可以以root权限将以上语句写到/etc/bash.bashrc文件中,使其对所有用户生效。

# echo "source /opt/intel/bin/iccvars.sh intel64" >> /etc/bash/bashrc

执行以下命令使bash路径生效:

$ source ~/.bashrc

或者:

# source /etc/bash.bashrc

测试一下是否成功:

输入命令有如下显示:

$ which icc
/opt/intel/composer_xe_2013_sp1.0.080/bin/intel64/icc

说明配置成功。

使用

在使用icc编译安装开源软件时要注意,虽然icc对开源软件的支持越来越好,但也不是能完全兼容的,如果遇到有的软件不能直接使用icc进行编译,就可能要更改软件的源代码,比如现阶段linux内核就不能像gcc那样方便的编译,实际上内核早就可以通过一些设置后使用icc编译,这里不过多讨论。

在编译软件前运行如下命令,使用icc编译:

$ CC=icc
$ CXX=icpc
$ LD=xild
$ AR=xiar

当然你也可以将这些变量作为全局变量,并添加到~/.bashrc文件中

$ echo "export CC=icc export CXX=icpc export LD=xild export AR=xiar" >> ~/.bashrc

这样就可以在编译安装软件的时候使用icc编译了。

使用GCC编译

如果icc出现问题,需要使用默认的GCC编译的时候

执行以下命令即可

$ export CC=gcc export CXX=g++ export LD=ld export AR=ar

注意事项

1.在设置icc的环境变量的时候,语句

source /opt/intel/bin/iccvars.sh intel64

可以写到/etc/bash.bashrc文件中,但不能写到/etc/profile文件中,写到后者中重启后不会生效。

2.CC=icc CXX=icpc等语句可以作为参数写到configure命令中。