Intel C++ Compiler Options详解与应用

需积分: 9 14 下载量 115 浏览量 更新于2024-08-02 1 收藏 3.51MB PDF 举报
"Intel C++ 编译器选项文档提供了关于使用Intel C++编译器进行程序优化和编译的详细参数说明。这份官方手册涵盖了各种编译选项,旨在帮助开发者充分利用Intel处理器的性能特性。" Intel C++ Compiler是Intel公司开发的一款针对C++语言的高性能编译器,它针对Intel架构进行了优化,可以显著提升代码在Intel处理器上的运行效率。该编译器提供了丰富的编译选项,用于控制编译过程、优化级别、错误检查以及生成的目标代码特性。 1. **优化选项**:编译器提供多种优化级别,如`-O1`, `-O2`, `-O3`,其中`-O3`是最高级别的优化,通常会尽可能地提高代码执行速度,但可能会增加编译时间和程序大小。还有特定的优化选项,如`-ipo`(跨模块优化)和`-inline`(内联函数优化)。 2. **警告和错误控制**:`-w`选项可以抑制所有警告,而`-Werror`则将警告视为错误。其他选项如`-Wall`开启所有警告,`-Wextra`显示额外的警告信息。 3. **兼容性和标准**:可以使用`-std`选项选择C++标准,如`-std=c++11`以遵循C++11标准,或者`-std=c++14`遵循C++14标准。`-pedantic`选项要求编译器严格遵循选定的标准。 4. **调试信息**:`-g`选项添加调试信息,使得使用GDB等调试器更加方便。 5. **多线程支持**:`-Qthreaded-build`启用多线程编译,加速编译过程。`-qopenmp`选项启用OpenMP支持,允许编写并行代码。 6. **代码生成选项**:`-march`指定目标处理器架构,如`-march=native`会生成与当前系统CPU相匹配的指令集代码。`-mtune`则可以调整优化目标,即使代码在不同类型的CPU上也能获得较好的性能。 7. **内存模型和数据对齐**:`-Qoption,mcmodel`控制代码的内存模型,`-align`选项控制数据对齐,以优化缓存性能。 8. **链接选项**:`-l`链接指定的库,`-L`指定链接时搜索库的目录。 9. **预处理和宏定义**:`-D`用来定义宏,`-U`取消宏定义,`-E`只进行预处理,不编译或汇编。 10. **性能分析**:`-prof-gen`和`-prof-dir`用于生成性能分析数据,帮助优化代码。 Intel C++ Compiler的这些选项使得开发者能够深入定制编译过程,以适应特定的应用场景和性能需求。然而,使用这些高级选项需要对编译过程有深入理解,因为错误的设置可能会影响代码的正确性和可维护性。在实际应用中,应根据项目需求和团队规范谨慎选择合适的编译选项。
2013-07-15 上传
《Intel C++ 编译器Windows版》(Intel.C.Plus.Plus.Compiler.v10.0.026)[Bin] 软件版权归原作者及原软件公司所有,如果你喜欢,请购买正版软件 常驻服务器 : DonkeyServer No2, 7x24, 根据工作需要暂停 [版本说明] 截止到2007-08-15为最新版, 仅包含Windows平台, 支持 IA32 / Intel64 / IA64处理器 [病毒检测] NOD32 v2.7 2007-08-15 [安装测试] Windows 2003 SP2 / Visual Studio 2005 SP1 [产品主页] [ http://www.intel.com/cd/software/products/...9578.htm ] [产品简介] 个人翻译, 以原版英文为准: 概要: -------------------------------------------------------------------------------- Intel C++编译器专业版为创建多线程应用程序提供最好的支持。只有专业版才提供对高级优化、多线程和处理器支持(?)。包括自动处理器派发、向量化、自动并行处理、OpenMP*、数据预取、循环展开,还有为并行化、数学运算和多媒体库而高度优化的C++模版。 专业版把高效的编译器和Intel® Threading Building Blocks (Intel® TBB), Intel® Integrated Performance Primitives (Intel® IPP) and Intel® Math Kernel Library (Intel® MKL)整合到了一起。虽然这些库也可以单独获取,但是专业版在一个显著折扣价位上为构建稳定高效的并行代码提供了一个强大的基础。 标准版编译器和专业版有着相同的效能和特性, 但是不提供多线程库。 特性: -------------------------------------------------------------------------------- 效能: 考虑使用Intel C++编译器专业版来最佳化效能。内间的优化技术和多线程支持帮助您创建可以在最新的多核处理器上运行best的代码。 高级优化特性: 使用IntelC++编译器Windows版编译的软件可以受益于高级优化特性, 这里有一些简要介绍, 并且链接到完整描述: * Multi-Threaded Application Support, including OpenMP and auto-parallelization for simple and efficient software threading. * Auto-vectorization 并行化代码来利用最新处理器的SSE指令集构架(SSE, SSE2, SSE3, SSSE3, and SSE4)。 * High-Performance Parallel Optimizer (HPO)(高效能并行优化器) 重新组织和优化循环来确定auto-vectorization, OpenMP, or auto-parallelization 最好的利用处理器的缓存、内存访问、SIMD指令集和多核能力。这个由10.0版本而来得新的革命性的能力,组合了向量化、并行化和循环转化到一个比先前分散模块更快、更有效率和更可靠的单个过程。 * Interprocedural Optimization (IPO) 大幅的改善了被频繁使用的中小规模函数的效能,尤其是在循环内包含调用的程序。这个优化器的分析能力还可以对代码弱点和代码错误给出反馈,诸如未初始化的变量或者OpenMP API issues这些严格依赖编译器前端的编译器不能检测到的状况。 * Profile-guided Optimization (PGO) 通过减少指令缓存thrashing、重新组织代码布局、收缩代码大小和降低分支预测失败来改善程序效能。 * Optimized Code Debugging with the Intel® Debugger(使用Intel调试器调试优化后的代码)改善了为Intel架构优化代码的调试过程的效率. 本版本新特性: -------------------------------------------------------------------------------- 此Intel C++编译器Windows版本构建于一个winning foundation之上。它使您能够为下一代硬件创建下一代应用。 改善的效能和Threading * 新的并行/循环优化器 * 改善的C++优化 * 异常处理和类层次分析 安全监测和诊断 * 缓冲区溢出静态验证 * OpenMP API 验证 VISTA 和 Visual Studio 2005 支持 优化报告 支持最新的多核处理器 * Intel® Core™2 Duo processor * Intel® Core™2 Quad processor * Quad-Core Intel® Xeon® processor 5300 series * Dual-Core Intel® Xeon® processor 3000 series * Dual-Core Intel® Xeon® processor 5000 series * Dual-Core Intel® Xeon® processor 7000 series * Dual-Core Intel® Itanium® 2 processor 提供专业版本 Advanced Optimization Features in Depth -------------------------------------------------------------------------------- ... ... 兼容性和适应性 -------------------------------------------------------------------------------- ... ... 可与Microsoft Visual Studio 2005, Visual Studio .NET 2002/2003, and Visual Studio 98集成,并提供扩展的32位和64位多核Intel处理器支持。 Intel C++ 编译器提供下列语言一致性 * ANSI/ISO C 语言标准一致性 (ISO/IEC 9899:1990) * ANSI/ISO C++语言标准一致 (ISO/IEC 14882:1998) * OpenMP 规范版本 2.5 系统需求