英特尔
® 
C++ 编译器 9.1 Windows* 版
打印发送电子邮件告知好友支持新闻简报RSSDigg thisdel.icio.us

购买产品 ›

免费评估版软件 ›

概述
英特尔® C++ 编译器盒装照英特尔® C++ 编译器 Windows* 版充分发挥下一代多核英特尔® 处理器的巨大潜能。

对于今天的软件开发人员而言,多线程处理并非难事,这使您能够从硬件技术的飞跃发展中获益。

产品简介 [PDF 903KB]

多线程竞赛!
英特尔® 软件网络和 TopCoder 正在世界范围内举办为期 12 个月的多核微处理器多线程技术系列竞赛。您将有机会赢取现金大奖!

了解更多信息 >

特性
英特尔® C++ 编译器 Windows 版本为所有基于英特尔® 处理器的平台提供快速的开发和卓越的性能。

它能够对软件执行自动优化和并行处理,从而充分利用英特尔® 多核处理器(包括双核移动平台、桌面平台以及企业平台)。

先进的优化特性概览

使用 Windows 版本的英特尔 C++ 编译器编译的软件具备高级优化的功能,在此将对一些功能进行简单的讲解,更为详尽的介绍见以下链接:

  • 多线程应用程序支持,包括用于简单有效的软件线程技术的 OpenMP 和自动并行处理。
  • 过程间优化 (IPO) 对于包含许多常用中、小函数的程序,特别是循环内包含调用的程序,IPO 可以极大地提高应用程序性能。
  • 档案导引优化 (PGO) 通过降低指令快取置换 (cache-thrashing)、重组代码布局、缩减代码长度并减少分支预测失误来提高应用程序性能。
  • 自动矢量器对代码进行并行化处理,并调整数据,其中包含可以生成平衡负载的循环剥离技术,以及可以匹配整个缓存线预取情况的循环展开技术。
  • 高级优化 (HLO) 利用循环转换和预取实现更进一步的优化。
  • 使用英特尔® 调试器针对已优化代码进行调试对于已针对英特尔® 体系结构进行优化的代码,能够提升其调试过程的效率。
深入了解先进的优化特性
本节详细说明上文中名为"先进的优化特性概览"一节中所说明的特性。

多线程应用程序支持
OpenMP 和自动并行能够帮助将串行应用程序转化为并行应用程序,使您能够充分利用多核技术,例如英特尔® 酷睿™ 双核处理器、双核安腾® 2 处理器以及对称多处理系统:

  • OpenMP* 是可移植多线程应用程序开发的行业标准。在细粒度(循环级别)与粗粒度(函数级别)线程技术上具有很高的效率。

    对于将串行应用程序转换成并行应用程序,OpenMP 指令是一种容易使用且作用强大的手段,它具有使应用程序因为在多核心与对称多处理器系统上并行执行而获得大幅性能提升的潜力。
  • 自动并行使用能自动将循环线程化的自动并行功能,提高多处理器系统上的应用程序性能。这个选项会检测能够安全地并行执行的循环,然后自动生成多线程代码。

    自动并行功能使得用户不必处理迭代划分、数据共享、线程调度及同步等低级别的细节。它还能够提供多处理器系统与支持"超线程技术"(HT 技术)的系统所具有的性能优势。

有关多线程应用支持的更多信息,请访问英特尔的线程开发人员中心

过程间优化 (IPO)
对于包含许多常用中、小函数的程序,特别是循环内包含调用的程序,过程间优化 (IPO) 可以极大地提高应用程序性能。这套技术可以用于英特尔® 编译器中的自动运算,它们不必关注各个独立的函数,而是利用多文件或整个程序来检测并执行优化。


图 1. 过程间优化流程点击查看大图。

图 1 中描绘了 IPO 流程,首先需要利用 IPO 选项对源文件进行编译,然后借助编译器创建包含中间语言 (IL) 的对象 (.o) 文件。根据链接,编译器结合所有 IL 信息并对其进行分析,以便实现优化。典型的优化作为 IPO 流程的一部分,包括程序内联和重排、删除无用(无法获得)的代码、常数传播或已知常量值的代入。与在程序内部提供的优化相比,IPO 所支持的优化更加先进,因为多个程序具有更多上下文,能够确保这些比较先进的优化更加安全。

档案导引优化 (PGO)
通过档案导引优化 (PGO) 编译过程,英特尔 C++ 编译器能够更好地利用处理器微体系结构,更加有效地使用指令调度与高速缓存,更好地执行分支预测。通过重新组织代码布局,可以减少指令快取置换、缩减代码长度并降低分支预测失误,从而帮助提高应用程序性能。

PGO 为一个三阶段的流程,如图 2 所示。这三个阶段包括:1) 利用增加的工具对应用进行编译,2) 文件生成阶段,在该阶段中执行并监视应用,3) 针对第一阶段中收集的数据加入优化,进行重新编译。下面是几种影响档案导引优化的代码长度说明:

  • 基本程序块和函数排序 - 将频繁执行的程序块和函数放置在一起,便于充分利用指令缓存空间。
  • 辅助内联决策 - 将频繁执行的函数进行内联,这样,代码长度的增加就会在性能受到最大影响的区域内发生。
  • 辅助矢量化决策 - 对循环次数较高和频繁执行的循环进行矢量化,这样,代码长度虽然增加,却换取了性能提高。

图 2. 档案导引优化
图 2. 档案导引优化。点击查看大图。

自动矢量器
矢量化会自动对代码进行并行化处理,以便最大限度地利用处理器的潜在能力。这种先进的优化对循环进行分析,并确定何时可以安全有效地利用 MMX™、SSE、SSE2 和 SSE3 指令并行地执行几种反复循环。图 3 以图形方式显示矢量化的循环,在一次 SSE2 运算中计算四次迭代。

使用矢量化功能可以优化应用程序代码,在英特尔® 处理器上运行时,可以充分利用这些新的扩展功能。提供的功能包括支持先进的动态数据调整策略,其中有可以生成平衡负载的循环剥离技术,以及可以匹配整个缓存线预取情况的循环展开技术。

图 3 运行中的矢量器
图 3. 运行中的矢量器。

高级优化 (HLO)
数据预取是规避内存访问延迟的一种有效技术,它可以显著提高许多计算密集型应用程序的性能。数据预取在程序中的特定点上为所选数据引用插入预取指令,使引用的数据项在实际使用之前就已尽可能地移近处理器(放入高速缓存)。

循环体展开将两个或更多个循环体迭代合并到一起,以减少循环计数。虽然循环展开通常会导致代码长度增加,但它通常可以减少必须执行的指令数。下面是一个非常简单的循环展开示例,它从循环中删除了一个分支:
删除前删除后
for (i=0; i<1000; i++)
  {
a[i] = b[i] * c[i];
  }
for (i=0; i<1000; i+=4)
  {
a[i] = b[i] * c[i];
a[i+1] = b[i+1] * c[i+1];
a[i+2] = b[i+2] * c[i+2];
a[i+3] = b[i+3] * c[i+3];
  }

使用英特尔® 调试器针对已优化代码进行调试

英特尔® 调试器支持对已优化代码进行调试(即,针对已为在特定硬件体系结构上获得最佳执行效果而大幅改动过的代码进行调试)。对于已优化代码的调试,英特尔编译器生成符合标准的调试信息,所有支持英特尔编译器的调试器均可使用这些信息。通过启用对多线程应用程序进行调试,英特尔调试器支持多核架构,并提供以下相关功能:

  • 齐停止/齐执行(all-stop/all-go)模式(即,当一个线程停止时,所有线程都停止;一个线程恢复执行时,所有线程都恢复执行)
  • 列出所有已创建的线程
  • 在线程之间切换焦点
  • 查看详细的线程状态
  • 为所有线程或线程子集设置断点(包括全停止、跟踪和观察变化)并显示堆栈的后备跟踪
  • 内置的 GUI 中包含一个"线程"面板(位于"当前源"窗格中),创建线程时,系统将激活该面板,使得操作人员能够选择线程焦点,然后显示相关详细信息。最新增强的 GNU 项目调试器(GDB 调试器)还可以用于并行应用程序。有关其他信息,请参阅英特尔调试器技术白皮书
本版本新增内容
英特尔 C++ 编译器 Windows 版创建于卓越的基础之上。您可以针对下一代硬件亲自创建下一代软件。

本版本新增内容概述
通过本版本中的新增功能特性,您几乎不用额外投入精力,就可以获得更好的效果,从而最大程度地利用英特尔® 硬件。此处仅简单介绍每种特性,您可以通过链接了解比较完整的说明:

深入了解新特性
本节详细说明上述描述的新特性。

多核开发支持

在所有英特尔移动、桌面和企业产品线内自由驾驭多核处理器。

  • 由于最新一代的处理器部署广泛,因此必须对应用程序进行优化,以便充分利用该处理器。
  • 英特尔编译器内置多核支持,与 32 位和 64 位英特尔® 体系结构的其他优化完美集成。
  • 充分利用多核处理功能特性,从而提供卓越性能。

Microsoft Visual Studio 2005 集成

英特尔 C++ 编译器 Windows 版首次提供 Visual Studio* 2005 支持。

  • 包括对 IA-32 应用程序开发的支持以及对支持英特尔® EM64T 的处理器以及安腾® 2 处理器的支持。
  • Microsoft Visual Studio 2005 集成包括跨平台开发。
  • Visual Studio 中集成区分上下文的帮助。

支持最新多核处理器
英特尔 C++ 编译器 Windows 版针对最新英特尔多核处理器提供最新优化支持,例如以下处理器:

  • 英特尔® 奔腾® D 处理器
  • 英特尔® 奔腾® 处理器至尊版
  • 英特尔酷睿双核处理器
  • 双核英特尔安腾 2 9000 顺序处理器

另外,英特尔编译器可以确保投资的未来效益,保证针对日后每一代处理器快速提供全球范围的支持。对于新硬件平台以惊人速度不断面世的现今社会,这是一个非常关键的优势。

由于对自动并行处理和 OpenMP* 的支持,您能够创建优化的多线程应用程序,这些应用程序会充分利用多核处理特性,从而提供卓越性能。

兼容性和灵活性
符合标准,广泛兼容
英特尔® C++ 编译器 9.1 Windows 版完全符合各类标准,包括通过 OpenMP 支持并行处理。

它还集成了 Microsoft Visual Studio 2005、Visual Studio .NET* 2002/2003 以及 Visual Studio 98,并提供扩展 32 位和 64 位多核英特尔处理器支持。

英特尔® C++ 编译器支持以下语言标准:

  • ANSI/ISO 标准,用于 C 语言编译 (ISO/IEC 9899:1990)
  • ANSI/ISO 标准 (ISO/IEC 14882:1998) 用于 C++ 语言
  • OpenMP* 规范 2.5 版

跨应用领域实现卓越的性能
英特尔 C++ 编译器 Windows 版提供了超越一般的卓越性能、实用性以及商业优势,适用于广泛的软件市场。

数字家庭、游戏及娱乐应用程序都可通过英特尔 C++ 编译器得以完美实现,因为多核平台上的并行处理擅长在后台处理下载、安全保护及其他任务,丝毫不影响用户体验。
移动软件将极大受益于移动多核平台(例如基于英特尔® 酷睿™ 双核处理器的平台)的处理能力,在提高性能的同时,还可以降低功耗并延长电池寿命。
下一代数据密集型应用程序开发人员将受益于英特尔编译器的动态性能优化,从而降低延迟和处理时间,而且软件设计人员添加其他功能特性也不会对性能带来太大影响。
系统要求
本节针对各种硬件平台提供应用程序开发的系统要求。


主机硬件要求
组件最低要求 建议配置
处理器 (任意所需处理器)系统基于 IA-32 处理器、英特尔® 奔腾® II 处理器或更高,450 MHz
  •  英特尔® 酷睿™ 双核处理器
  • 英特尔® 奔腾® 4 处理器
  • 英特尔® 奔腾® D 处理器,或
  • 英特尔® 至强® 处理器
英特尔® 安腾® 2 处理器
采用英特尔® EM64T 技术的处理器
AMD Athlon* 或 Opteron* 处理器
内存
  • IA-32:256MB
  • 其他:512MB
  • IA-32:512MB
  • 其他:1GB
磁盘空间300 MB 可用硬盘空间,外加 300 MB 用于在安装过程中下载和存储临时文件的硬盘空间。

100 MB 硬盘空间,用于存储虚拟内存页面文件。必须至少使用操作系统建议的最少虚拟内存数


开发 IA-32 应用程序的主机软件要求
操作系统
  • Microsoft Windows* 2000
  • Windows XP,或
  • Windows Server* 2003
其他软件必须安装以下 Microsoft 开发产品之一:

  • Microsoft Visual C++* 6.0
  • Microsoft Visual Studio* 98
    注意: 以后版本的英特尔® C++ 编译器 Windows* 版可能不再支持 Microsoft Visual C++ 6.0 和 Microsoft Visual Studio 98。
  • Microsoft Visual C++ .NET* 2002 或 2003 标准版或更高版本
  • Microsoft Visual Studio .NET 2002 或 2003(任何版本)并安装了 Visual C++ 组件
  • Microsoft Visual Studio 2005,Express 版或更高版本,必须已安装 Visual C++ 组件。Visual Studio 2005 Express Edition 仅支持命令行开发
  • 注意: Microsoft Windows 98、Windows 98 SE、Windows Millennium Edition 和 Windows NT 不支持产品开发,但支持应用程序部署
  • 注意: 以后版本的英特尔 C++ 编译器 Windows 版可能不再支持 Microsoft Visual C++ 6.0 和 Microsoft Visual Studio 98
  • 注意: 如果在 Windows XP Professional x64 Edition 或 Windows Server 2003 x64 Edition 上开发 IA-32 应用程序,仅支持使用 2003 和 2005 版 Microsoft 开发环境。

针对支持英特尔® EM64T 的处理器开发应用程序的主机软件要求
操作系统
  • Microsoft Windows* 2000
  • Windows XP,或
  • Windows Server* 2003
其他软件
  • 如果使用 Visual Studio* 环境或命令行工具进行开发,必须安装 Microsoft Visual Studio* 2005 标准版或更高版本,且安装 Visual C++ 和"X64 编译器和工具"组件(Visual studio 2005 Standard Edition 不需要额外选择 X64 组件)。
  • 如果仅使用命令行工具开发,必须安装 Windows Server 2003 SP1 平台 SDK。请单击"平台 SDK 下载"站点上的链接,然后运行 PSDK-amd64.exe 以开始 PSDK 安装。仅需要"核心 SDK"。

开发基于安腾® 的应用程序的主机软件要求
操作系统
  • Microsoft Windows* 2000
  • Windows XP,或
  • Windows Server* 2003
其他软件
  • 如果使用 Visual Studio* 环境或命令行工具在 IA-32 或英特尔® EM64T 系统上进行开发,必须安装 Microsoft Visual Studio 2005 Team System 版或更高版本,且安装 Visual C++ 以及"安腾编译器和工具"
  • 如果仅使用命令行工具开发,必须安装 Windows Server 2003 SP1 平台 SDK。请单击"平台 SDK 下载"站点上的链接,然后运行 PSDK-ia64.exe 以开始 PSDK 安装。仅需要"核心 SDK"。

运行应用程序的目标系统要求
IA-32 系统运行 Windows* 98, Windows Millennium Edition、Windows NT、Windows 2000、Windows XP 或 Windows Server* 2003(低版本 Windows 中可能不包含某些应用程序所需要的 Windows 功能)。
英特尔® EM64T 系统基于英特尔 EM64T 处理器的系统,运行 Windows Server 2003 x64 Edition 或 Windows XP Professional x64 Edition。
基于安腾® 的系统基于英特尔® 安腾® 2 处理器的系统,运行 Windows Advanced Server* 或 Windows Server* 2003(Enterprise 版和 Datacenter 版)。

注意:

以上并未列出全部处理器型号名称 - 如果其他处理器型号能够正确支持所列出的指令集,则也可以使用并达到预期效果。如果您对特定处理器型号有任何疑问,请与"英特尔® 首要支持"联系。

有些优化选项对运行应用程序的处理器类型有限制。要了解更多信息,请参阅这些选项的文档。

高级优化选项或大型系统可能需要其他资源,例如更多的内存或磁盘空间。

某些参考文档需要使用 Adobe Acrobat Reader* 4.0 或更高版本才能查看。

如果在未安装英特尔 C++ 编译器的系统上运行应用程序,可能需要在目标系统上安装可再发行的 DLL。

在以后版本的英特尔® C++ 和 Visual Fortran 编译器 Windows 版中,英特尔将不再支持 Microsoft Visual C++ .NET 2002。

应用程序开发人员有责任确保操作系统以及运行应用程序的处理器支持应用程序中所包含的计算机指令。



英特尔® 软件   
网络
英特尔® 软件网络
  • 成员注册步骤简单且免费,马上 加入吧!