导航:首页 > 源码编译 > 英特尔编译器和代码库

英特尔编译器和代码库

发布时间:2022-04-27 02:47:13

A. 如何在VC6中使用Intel C/C++ 编译

Dev C++ 用的是着名 的 GNU 编译器集合中的编译器

windows 下的首选的编译器是被打包进 VC 的 Microsoft 的 CL, 在 Windows 下的各种编译器里
Microsoft 的 CL 具有极佳的性能, 常常能生成极快速极短小的代码(这个和 Microsoft 打包进 VC 的标准 库 也有关系).

如果是 Intel 处理器, 可以考虑的是 Intel 的 C++ 编译器,不过使用起来比较麻烦.

GNU 编译器集合的优点在于其良好的跨平台性能, 你 可以在各种平台上使用 GNU 的编译器
其是 Unix/linux 平台的首选编译器(实际上,大多数 Unix/Linux 都搭载了 GCC).

至于对标准的支持度, GCC 应该是比较好的(对 C 语言), 对标准 C++ 来说, Microsoft 的 VC2005 以上也做得很不错.

用 VC6 来比较 Dev C++ 5 是不恰当的, VC6 是应该淘汰的东西了
要用来学习 C++ 的话,最低也该用 VC2005
理由: VC6 比 标准 C++ 还古老, VC6 的时代还没有标准 C++ 这个东西
要用来做实际工作的话,最低也该用 VC2005
理由: VC6 不支持新的平台,特别是 amd64 和 it64.VC 6 不支持 VISTA.

不过,Dev C++ 5 Beta 也是有点老了,要做实际工作的话,Windows 下 使用 Dev C++ 5 Beta 时要注意兼容性,实在不行的话就更新 MingW 和 GCC.
VC++ 6.0是97年正式竣工的,98年开始有C++标准,后来C语言又修订了标准C99,再后来又有C++2003标准,明年C++标准会有C++0X,这样看来VC++6.0对C++支持不好是很正常的事情,对标准的C99支持不好也是很正常的事情。

GNU Dev C++ 4.9.9.2,2005年最后一版,据说对C++标准支持比较好,再后来有wx-devcpp继续了它的道路,至今一直继续升级。

我个人的使用经验是这样,如果你把VC++6.0当成一个C语言的IDE可能还不错,但是编译C++程序,恐怕就有点牵强了,我平时写得C++代码[如果没有语法错误的话],VC++6.0即使打上SP6补丁相信90%以上的可能性编译不过去。Dev C++ 4.9.9.2可以编译过去的可能性相信会超过98%。如果写C程序,假如没有语法错误的话,VC++6.0和GNU Dev C++ 4.9.9.2基本上都可以编译成功。

由于都是IDE,VC++6.0调试程序更方便一些,用VC++6.0可以开发C应用程序,Win32应用程序,还可以方便的使用MFC开发很多应用程序,不过问题是,MS的IDE新版本有很多时候并不兼容VC++6.0,有些函数的参数重新修订,有些函数和类已经废弃,有些已经改名,当然还扩充了不少。

VC++6.0对STL支持不佳是很正常的事情,比如getline库函数本身有bug,list成员函数sort本身有bug,还有很多其他问题,VC++6.0对模板支持很差,对友元支持很差,还有很多方面支持很差。对模板支持差,这种情况一直到VS2003(C++7.0)都没有很好的解决,VS2003不支持模板的偏特化。

GNU Dev C++ 4.9.9.2比较小,安装后大约50M大小(VC++6.0安装后至少几百M),可以开发C,C++,Win32应用程序等等,使用Dev C++ 4.9.9.2编译C++程序,用的是g++3.4.2编译器。Dev C++对标准C++支持较好,据我所知,仅仅友元模板函数在类里面实现可以正常编译,但是放到类外就不行,到目前为止仅仅发祥这一个问题,还有一个问题就是代码最大优化,你需要便宜环境设置里面加上命令-O3。

另外,我还使用过Intel C++ 9.0,以插件的形式安装在VC++6.0这个IDE上,对C++的支持力度仅次于Dev C++ 4.9.9.2,但是编译代码以后执行速度稍快一点。

如果你喜欢使用MS的编译器,建议使用VC++8.0[VS2005],缺点是占据硬盘空间很大,加上MSDN,至少2GB以上。

如果你是C++初学者,使用环境Windows平台,GNU Dev C++ 4.9.9.2(g++3.4.2)可能是你非常好的选择。如果你使用linux平台,可以升级g++编译器版本到4.2.1甚至更高。

B. intel visual fortran compiler干嘛用的

Visual Numerics Inc已于2004年初完成与Intel的结盟,将当时的IMSL Fortran Library的新版本v5.0整合在Intel Visual Fortran系列产品之专业版(承袭购并之Compaq Visual Fortran功能架构)中。2005.6月份发布其最新版本Intel Visual Fortran Compiler v9.0.018

针对Intel® CPU Pentium® 4, Xeon�6�4, Centrino�6�4 Itanium® 做最佳的福传编译,支持OpenMP及Auto-Parallelism特色. “英特尔R Visual Fortran 编译器Windows* 版”将Compaq Visual Fortran* (CVF) 语言的丰富功能与英特尔代码生成及优化技术结合在一起,构成面向英特尔体系结构的下一代Fortran 编译器。它提供250 多条CVF 与英特尔Fortran 命令及同义词,使编译器更加易于使用,同时仍能作为插件融入Microsoft Visual Studio 环境,并提供直接来自英特尔的技术支持。此编译器是一套功能齐备的Fortran 95 编译器,具有先进的优化功能,可以使Fortran 应用程序在英特尔R IA-32 与安腾2 处理器上快速运行。英特尔® 视觉FORTRAN 编译器为窗口* 标记一个里程碑为FORTRAN 开发商。它带来Compaq 视觉FORTRAN * 语言特色与英特尔编译器代码世代和优化技术一起。

性能、兼容性、技术支持:采用“英特尔 Visual Fortran 编译器 9.0 Windows* 版”,可以提高应用程序速度,并保护您在开发工具上所作的投资。先进的优化功能可以给最新英特尔® 处理器上运行的应用程序带来出众的性能。本产品包含标准版与专业版。“英特尔® Visual Fortran 编译器专业版”包含 Visual Numerics, Inc. 的“IMSL* Fortran 函数库6.0”。
目前版本号最高的Intel Fortran编译器,需要Visual Studio 6.0以上支持,可以生成更适用于Intel芯片的高效程序,是Intel平台下最优秀的Fortran语言编译器。大家可以考虑丢掉Fortran 77编译系统了:P
Fortran,是由Formula Translation两个字所组合而成,意思是公式翻译。它是世界上第一个被正式采用并流传至今的高级编程语言。

性能、兼容性、技术支持
使用“英特尔® Visual Fortran 编译器 Windows* 版”,可以让您的应用程序在英特尔® 处理器上取得前所未有的绝佳性能。

此编译器有标准版与专业版这两个版本提供。“英特尔® Visual Fortran 编译器专业版”包含 Visual Numerics, Inc. 的“IMSL* Fortran 函数库 5.0”。

客户评价:

“在英特尔编译器的帮助下,我们开发了大型海洋模型,充分利用了在基于英特尔的系统上所作的投资。在使用‘英特尔 Visual Fortran 编译器 Windows 版’编译代码时,我发现,与以前的版本相比,性能提高了大约 20%。”
- Xianyao Chen 博士
海洋模型小组组长
中国第一海洋研究所

“‘英特尔 Fortran 编译器 7.0’堪称一流,‘英特尔 Visual Fortran 8.0’做得还要好。英特尔将 Compaq Visual Fortran 与‘英特尔 Fortran’中最优秀的功能结合在一起,实现了一次巨大的飞跃。”现在为9.0最新版!

sual Fortran 与‘英特尔 Fortran’中最优秀的功能结合在一起,实现了一次巨大的飞跃。”现在为9.0最新版!

C. Intel的编译器有哪些

1、Intel 编译支持 IA-32、Intel 64、Itanium 2、Intel Atom 处理器和某些非 Intel 的兼容处理器(例如某些 AMD 处理器)。开发人员应当检查系统需求。适用于 IA-32 和 Intel 64 的 Intel C++ 编译器的主要特点是自动向量化器,它能够生成 SSE、SSE2 和 SSE3 的 SIMD 指令及其适用于 Intel 无线 MMX 和 MMX 2 的嵌入式变种。
2、Intel C++ Compiler 进一步支持 OpenMP 3.0 和适用于对称多处理的自动并行化。借助于 Cluster OpenMP 的附加能力,编译器还可为分布存储多处理根据 OpenMP 指示自动生成消息传递接口调用。
3、Intel C++ Compiler 可通过四种方式获得,它分别是 Intel Parallel Studio、Intel C++ Compiler 专业版、Intel 编译器套装和 Intel Cluster Toolkit 编译器版的一部分。该编译器的最新发布是 Intel C++ Compiler 14.0 版本.

D. 英特尔使用其编译器和软件代码的“库”合乎道德吗

代码库是由机器语言组成的,你所说的“道德”是指那些方面。软件的行为逻辑?还是.....?

E. 如何安装Windows版英特尔C++编译器求解

在安装Windows版的英特尔C++编译器之前,你必须安装以下开发工具中的一种: Microsoft Visual C++* 6.0 Microsoft Visual Studio 98 Microsoft Visual C++ .NET* 2003 标准版或更高 Microsoft Visual Studio .NET 2003, 并且安装Visual C++ Microsoft Visual Studio 2005* 或 2008, 标准版或更高, 并且安装Visual C++ Microsoft Visual C++ 2005* Express Edition 注:如果你安装的是MS VC 2005/2008 Express Edition,您还必须安装Windows Server 2003 R2 Platform SDK (Core SDK),在这样的配置下,英特尔C++编译器将只能在命令行下使用,无法集成到Visual Studio的IDE中。具体请查阅编译器的Release Notes的System Requirements章节。 如果您已经满足了以上要求,您就可以开始安装英特尔C++编译器了。在安装之前,请确保MS VC及MS VS是关闭的。 双击英特尔C++编译器的安装程序就开始了安装,安装过程中会要求您输入序列号或提供许可文件(.lic文件)。

F. 英特尔SystemStudio2016中提供哪些新功能

支持和优化令人信服的系统和应用用法

高度优化的编译器和库,包括英特尔®C++编译器、英特尔®集成性能基元库(英特尔®IPP)以及英特尔®数学内核库(英特尔®MKL),帮助开发人员将性能提高四倍。

分析抢占式实时Linux*上的应用性能

优于性能分析器支持实时Linux*系统解析,开发人员可迅速准确地定位抢占式Linux系统中的性能热点。高优先级的任务可能随时中断数据收集器。英特尔®VTune™Amplifier持续通过低开销采样收集数据。享用并发性、等待和锁定分析,另加上下文交换信息。找出系统软件和应用代码中的性能热点。

分析虚拟化环境中的应用性能

性能分析器支持虚拟化环境解析。观察和分析客户操作系统实例上运行的嵌入式应用的性能和行为。通过单一平台,在虚拟化环境中优化多种操作系统和应用的性能,节约硬件成本。

快速鉴别浪费功耗的软件

功耗分析器支持Android*、Windows*,现在还支持Linux,延长运行Linux的IoT、移动和嵌入式设备的电池使用寿命,优化无风扇系统的散热。功耗分析器精确显示应用和系统软件的唤醒,这些是主要功耗对象。

快速隔离复杂的系统问题

全面的系统全局硬件和软件事件跟踪有助于通过时间戳和纠正跟踪信息有效地精确查找问题,分析软硬件之间的复杂交互。

系统全局的封闭式机箱调试

通过标准的USB连接进行基于JTAG*的调试和追踪,增加灵活性,降低成本,无需访问JTAG端口。

将洞察力扩展到Windows* System,增强可靠性

适用于Microsoft*WinDbg* KernelDebugger的系统调试和追踪扩展帮助简化平台上线和Windows驱动验证。调试完全停止的Windows系统(包括驱动),通过英特尔®处理器跟踪,更快地中断并隔离复杂的运行时问题。

高效调试计算密集的代码,卸载至图形内核

使用简单的编译程序指令(例如#pragma)标记计算密集的代码,跨处理器和图形内核协作执行。目前扩展调试器支持除了处理器内核之外,还可调试图形内核上运行的代码。

G. 如何在命令行中使用intel c++编译器,并使用openmp和mkl来编译自己的程序,并运算

1、icc

Intel C/C++编译器接受遵守ANSI C/C++ , ISO C/C++ standards,GNU inline ASM for IA-32 architecture标准的输入。与linux下常用的gcc兼容并支持更大的C语言扩展,包括源文件、命令行参数、目标文件。不支持gcc的inline方式的汇编。例,f.c

#include<stdio.h>

int main(int argc, char* argv[]){

printf("Hello\n");

return 0;

}

编译:icc -c f.cpp -o f.o

链接:icc f.o -o f

运行:./f

注意,编译与链接都由icc来完成,icc常用命令行参数:

-o 输出文件命名

-I include路径

-L lib路径

-l 包含的lib名

-c 仅生成目标文件(*.o),不链接

-On n=0,1,2,3 编译器优化选项,n=0关闭编译器优化,n=3使用最激进的优化

-c99[-] 打开/关闭 c99规范的支持

详细的请参照icc的manpage.

2、ifort

Intel Fortran编译器支持F77/90/95标准并与CFV(Compaq Visual Fortran)兼容。例,f.f90

program f

print *, "Hello"

stop

end

编译:ifort -c f.f90 -o f.o

链接:ifort f.o -o f

运行:./f

编译与连接同样由ifort来完成,ifort常用命令行参数:

-o 输出文件命名

-I include路径

-L lib路径

-l 包含的lib名

-c 仅生成目标文件(*.o),不链接

-On n=0,1,2,3 编译器优化选项,n=0关闭编译器优化,n=3使用最激进的优化

-std90 使用F90标准编译

-std95 使用F 95标准编译

-f77rtl 编译使用F77运行方式的代码(用于解决特殊问题)

These options optimize application performance for a particular Intel? processor or family of processors. The compiler generates code that takes advantage of features of the specified processor.

Option

Description
tpp5 or G5 Optimizes for Intel? Pentium? and Pentium? with MMX? technology processors.
tpp6 or G6 Optimizes for Intel? Pentium? Pro, Pentium? II and Pentium? III processors.
tpp7 or G7 Optimizes for Intel? Pentium? 4, Intel? Xeon?, Intel? Pentium? M processors, and Intel? Pentium? 4 processors with Streaming SIMD Extensions 3 (SSE3) instruction support.
On Intel? EM64T systems, only option tpp7 (Linux) or G7 (Windows) is valid.

About tpp:

http://www.ncsa.illinois.e/UserInfo/Resources/Software/Intel/Compilers/9.0/main_for/mergedProjects/copts_for/common_options/option_tpp567_g567.htm

https://wiki.ke.e/display/SCSC/Compilers+and+Libraries

Intel Fortran Compiler Options: http://geco.mines.e/guide/ifort.html

Intel(R) Fortran Compiler Options: http://www.rcac.pure.e/userinfo/resources/common/compile/compilers/intel/man/ifort.txt

ifort编译器提供了非常多的优化参数

$ ifort --help | more 查看就可以
也可以定位到某个参数

$ifort --help | grep -5 '-mkl'
-5表示显示查找到的行及下面5行的内容。

3、Intel MKL数学库针对Intel系列处理器进行了专门的优化,主要包含的库有:

基本线形代数运算(BLAS)

向量与向量、向量与矩阵、矩阵与矩阵的运算

稀疏线形代数运算

快速傅立叶变换(单精度/双精度)

LAPACK(求解线形方程组、最小方差、特征值、Sylvester方程等)

向量数学库(VML)

向量统计学库(VSL)

高级离散傅立叶变换

编译:

icc multi.c -I/opt/intel/mkl/include –L/intel/mkl/lib –lmpi_ipf –o multi

4、MPI程序编译

消息传递接口(MPI)并行程序设计模型程序的编译命令。例,f.c

include<stdio.h>

#include<mpi.h>

main(argc,argv)

int argc;

char *argv[];

{

char name[BUFSIZ];

int length;

MPI_Init(&argc,&argv);

MPI_Get_processor_name(name, &length);

printf("%s: hello world\n", name);

MPI_Finalize();

}

编译与连接均使用mpicc,参数与mpicc中定义的编译器相同,这里与icc相同。

mpicc –c hello.c –o hello.o

mpicc hello.o –o hello

运行使用mpirun 命令,将运行需要的节点定义在文件中并在-machinfile中制定。

文件: nodelist

node1

node1

node2

node3

运行:

$mpirun –machefile nodelist –np 4 ./hello

node1: hello world

node1: hello world

node2: hello world

node3: hello world

5、32位向64位的移植

32位程序到64位移植中应注意的常见问题:

数据截断:

由于long类型变量的运算(赋值、比较、移位等)产生。long定义在x86上为32bits,而在ia64上为64bits.容易在与int型变量运算时出现异常。

处理方法:尽量避免不同类型变量间的运算,避免将长度较长的变量赋值到较短的变量中,统一变量长度可以解决这个问题。简单的对于32位转移到64位可以将所有long定义转换为int定义。

H. 怎样在vs2013中使用icc英特尔编译器

自带编译器,编译C/C++的cl.exe,编译C#的csc.exe。
在VS的安装目录下找到一个vscvarsall.bat(我的在D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC下),把它拖进命令提示符中,回车运行后就能单独使用编译器。

PS:
C/C++编译:cl 源文件.c/cpp
C#编译:csc 源文件.cs

1. “cl不是可用的内部命令或可执行程序”
----原因:环境变量Path没有设置好。
----解决:在环境变量Path中添加VC的bin目录。Path= D:\Microsoft Visual Studio 9.0\VC\bin。在D:\Microsoft Visual Studio 9.0\VC\ce\bin下还有其他一些编译器,看名字是交叉编译用的
2.“mspdb80.dll无法找到”
----原因:vs2008的VC\bin目录下缺少msobj80.dll、mspdb80.dll、mspdbcore.dll、mspdbsrv.exe这四个文件。
----解决:在D:\Microsoft Visual Studio 9.0\Common7\IDE下复制这四个文件到VC\bin。
3.解决以上问题以后,可以直接在命令行的任何目录下编译C/C++文件了。可是又出现新状况:
“fatal error: cannot open include file”
----原因:vs2008未设置include和lib的环境变量。
----解决:
3.1在环境变量里添加变量INCLUDE,包含进VC\Include和C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include(这个是安装vs时自动安装在C盘的)两个目录
INCLUDE=D:\Microsoft Visual Studio 9.0\VC\include; C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
3.2添加变量LIB,包含进VC\lib和C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib(这个也是安装vs时自动安装在C盘的)两个目录:
LIB=D:\Microsoft Visual Studio 9.0\VC\lib; C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib

4.提示:fatal error LNK1104: 无法打开文件“kernel32.lib”,(在IDE里面运行没有问题,因为IDE中采用了另外的封装了库)
----原因:vs2008未设置include和lib的环境变量。
----解决:在环境变量里添加变量LIB,C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
或者将kernel32.lib直接到vc的lib目录下也可以

I. Intel C++ Compiler与gcc对比有什么优缺点

icc 是Intel公司专门为Wintel平台设计,有针对性的做了优化,缺陷也很显然,既然有针对性,也就不具备通用性。使用icc编译,可能会使编译出来的程序有更好的执行效率,但也可能使其在非Intel CPU上运行异常。并且,在某些情况下,即使在Wintel平台上也会崩溃。
gcc的优势在于其通用性,目前主流的所有平台,它基本上都支持。使用-O3优化编译后的执行效率,也不错。
在Win平台上,编译后执行效率最好的,依然是微软的vs,这可能与win系统是他们家出的有关。
使用icc带来的优势,并不突出,还是建议不要用了。
如果限定在win平台上开发,使用vc或gcc更合适一些。我个人推荐gcc,vc的ide环境过于庞大,不太喜欢,但win平台上主流的c开发工具还是vc,有不少开源的工程都使用它,如果你用到了这些开源代码,就不得不用了。

阅读全文

与英特尔编译器和代码库相关的资料

热点内容
php自动打印 浏览:469
哪个app多年轻人 浏览:902
租的服务器如何重装 浏览:937
干眼症程序员 浏览:239
乐动达人安卓版有什么游戏 浏览:484
c523压缩比 浏览:543
命令语气的人什么心态 浏览:435
程序员喜欢留指甲吗 浏览:516
七牛云服务器收费标准 浏览:627
时光相册加密空间密码忘记 浏览:474
华为云为用户提供的服务云服务器 浏览:634
minecraftlinux服务器搭建 浏览:376
linux命令新建文件 浏览:709
长线pdf 浏览:607
程序员电脑支持手写 浏览:414
解压头戴式耳机推荐 浏览:344
纸条app上怎么样看对方主页 浏览:883
编译英语单词怎么写 浏览:249
编译原理和汇编原理的区别 浏览:864
如何给加密的pdf解密 浏览:770