Intel C++ Compiler Documentation

Similar documents
Introduction to Intel Fortran Compiler Documentation. Document Number: US

Getting Compiler Advice from the Optimization Reports

Enabling DDR2 16-Bit Mode on Intel IXP43X Product Line of Network Processors

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor: Boot-Up Options

Third Party Hardware TDM Bus Administration

ECC Handling Issues on Intel XScale I/O Processors

How to Configure Intel X520 Ethernet Server Adapter Based Virtual Functions on SuSE*Enterprise Linux Server* using Xen*

Intel IXP400 Software: Integrating STMicroelectronics* ADSL MTK20170* Chipset Firmware

Intel(R) Threading Building Blocks

Techniques for Lowering Power Consumption in Design Utilizing the Intel EP80579 Integrated Processor Product Line

Continuous Speech Processing API for Host Media Processing

Open FCoE for ESX*-based Intel Ethernet Server X520 Family Adapters

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor PCI 16-Bit Read Implementation

Intel Parallel Amplifier Sample Code Guide

Intel IT Director 1.7 Release Notes

Intel MPI Library for Windows* OS

Intel(R) Threading Building Blocks

GAP Guided Auto Parallelism A Tool Providing Vectorization Guidance

Recommended JTAG Circuitry for Debug with Intel Xscale Microarchitecture

Product Change Notification

Product Change Notification

Continuous Speech Processing API for Linux and Windows Operating Systems

Intel Dialogic Global Call Protocols Version 4.1 for Linux and Windows

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Intel Desktop Board DZ68DB

Product Change Notification

Parallel Programming Features in the Fortran Standard. Steve Lionel 12/4/2012

C Language Constructs for Parallel Programming

Using Intel Inspector XE 2011 with Fortran Applications

Product Change Notification

Intel Platform Controller Hub EG20T

Intel I/O Processor Chipset with Intel XScale Microarchitecture

Product Change Notification

Product Change Notification

Product Change Notification

Intel Platform Controller Hub EG20T

Product Change Notification

Using the Intel VTune Amplifier 2013 on Embedded Platforms

Global Call API for Host Media Processing on Linux

Continuous Speech Processing API for Linux and Windows Operating Systems

Product Change Notification

Host Media Processing Conferencing

Intel Thread Profiler

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

MayLoon User Manual. Copyright 2013 Intel Corporation. Document Number: xxxxxx-xxxus. World Wide Web:

VTune(TM) Performance Analyzer for Linux

Intel Thread Checker 3.1 for Windows* Release Notes

Installation Guide and Release Notes

Embedded Intel 855GME GMCH to Intel 852GM GMCH Design Respin

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor: Flash Programming

Product Change Notification

Intel EP80579 Software Drivers for Embedded Applications

Product Change Notification

Intel 6300ESB I/O Controller Hub (ICH)

Product Change Notification

Product Change Notification

Intel 810 Embedded Client Reference Design DC/DC ATX Power Supply

Intel Platform Controller Hub EG20T

Product Change Notification

Product Change Notification

Product Change Notification

Intel Integrated Performance Primitives for Intel Architecture. Using Intel Integrated Performance Primitives in C++ Applications

Intel Platform Administration Technology Quick Start Guide

OA&M API for Linux Operating Systems

Intel Parallel Studio XE 2015 Composer Edition for Linux* Installation Guide and Release Notes

Product Change Notification

Intel Desktop Board DG41CN

Intel Desktop Board DG41RQ

Intel IXP400 Software: VLAN and QoS Application Version 1.0

Intel Desktop Board D945GCLF2

Intel Desktop Board DG31PR

Intel Desktop Board DH61SA

Installation Guide and Release Notes

Product Change Notification

Intel G31/P31 Express Chipset

Intel Parallel Studio XE 2011 SP1 for Linux* Installation Guide and Release Notes

Intel MKL Data Fitting component. Overview

What's new in VTune Amplifier XE

Product Change Notification

Intel Desktop Board D946GZAB

Intel Desktop Board D975XBX2

Product Change Notification

Product Change Notification

Intel Desktop Board DP67DE

Product Change Notification

Product Change Notification

Intel I/O Processor Software Conversion to Intel I/O Processor

Intel Integrated Native Developer Experience 2015 Build Edition for OS X* Installation Guide and Release Notes

Intel NetStructure SS7 Boards

Product Change Notification

Intel 945(GM/GME)/915(GM/GME)/ 855(GM/GME)/852(GM/GME) Chipsets VGA Port Always Enabled Hardware Workaround

Intel Setup and Configuration Service. (Lightweight)

Intel Desktop Board DH61CR

Installation Guide and Release Notes

Transcription:

Document number: 304967-001US

Disclaimer and Legal Information INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications. Intel may make changes to specifications and product descriptions at any time, without notice. The software described in this document may contain software defects which may cause the product to deviate from published specifications. Current characterized software defects are available on request. This document as well as the software described in it is furnished under license and may only be used or copied in accordance with the terms of the license. The information in this manual is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Intel Corporation. Intel Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with this document. Except as permitted by such license, no part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without the express written consent of Intel Corporation. Developers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Improper use of reserved or undefined features or instructions may cause unpredictable behavior or failure in developer's software code when running on an Intel processor. Intel reserves these features or instructions for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from their unauthorized use. BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino logo, Chips, Core Inside, Dialogic, EtherExpress, ETOX, FlashFile, i386, i486, i960, icomp, InstantIP, Intel, Intel logo, Intel386, Intel486, Intel740, IntelDX2, IntelDX4, IntelSX2, Intel Core, Intel Inside, Intel Inside logo, Intel. Leap ahead., Intel. Leap ahead. logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel StrataFlash, Intel Viiv, Intel XScale, IPLink, Itanium, Itanium Inside, MCS, MMX, MMX logo, Optimizer logo, OverDrive, Paragon, PDCharm, Pentium, Pentium II Xeon, Pentium III Xeon, Performance at Your Command, Pentium Inside, skoool, Sound Mark, The Computer Inside., The Journey Inside, VTune, Xeon, Xeon Inside and Xircom are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. * Other names and brands may be claimed as the property of others. Copyright (C) 1996-2006, Intel Corporation.

Table Of Contents Introduction the Intel C++ Compiler...1 Intel C++ Compiler Includes:...1 What's New in This Release...1 Product Web Site and Support...2 System Requirements...2 FLEXlm* Electronic Licensing...2 Related Publications...2 How to Use This Document...4 Notation Conventions...4 iii

Introduction the Intel C++ Compiler Welcome to the Intel C++ Compiler. The compiler is used to compile C and C++ programs for Intel IA-32, Intel Extended Memory 64 Technology (Intel EM64T), and Intel Itanium -based systems on Linux* operating systems. The Linux compiler can be used from the command line or with the Eclipse* integrated development environment. Intel C++ Compiler Includes: Intel C++ Compiler for 32-bit Applications Intel C++ Compiler for Intel EM64T Intel C++ Compiler for Itanium-based Applications Enhanced Debugger Compiler documentation (this document) See Getting Started for basic information on running the compiler. What's New in This Release This release contains a number of changes, improvements, and new features. The following list describes the major 9.1 enhancements: New compiler options are available. These are detailed in New Options in the Compiler Options reference. Support for floating-point semantics has been expanded, allowing you to enable more aggressive optimizations on floating-point data and round intermediate results to source-defined precision. For more information, see the -fp-model compiler option. The Intel C++ Compiler integration with Eclipse* in supported on Intel Itanium -based systems. The Intel C++ Compiler integration with Eclipse* includes support for the Intel Debugger. Note Please refer to the Release Notes for the most current information about features implemented in this release. 1

Product Web Site and Support For the latest product information, visit the Intel Web site http://developer.intel.com/software/products/ Here you will find: information on how to obtain support for this product links to newsletter articles links to marketing information System Requirements See the Release Notes (Release_Notes.htm) for a complete list of system requirements. FLEXlm* Electronic Licensing The Intel C++ Compiler uses Macrovision's FLEXlm* licensing technology. The compiler requires a valid license file in the licenses directory in the installation path. The default directory is /opt/intel/licenses. The license files have a.lic file extension. If you require a counted license, see Using the Intel License Manager for FLEXlm* (flex_ug.pdf). Related Publications The following documents provide additional information relevant to the Intel C++ Compiler: ISO/IEC 9989:1990, Programming Languages--C ISO/IEC 14882:1998, Programming Languages--C++. The Annotated C++ Reference Manual, Special Edition, Ellis, Margaret; Stroustrup, Bjarne, Addison Wesley, 1991. Provides information on the C++ programming language. The C++ Programming Language, 3rd edition, 1997: Addison-Wesley Publishing Company, One Jacob Way, Reading, MA 01867. The C Programming Language, 2nd edition, Kernighan, Brian W.; Ritchie, Dennis W., Prentice Hall, 1988. Provides information on the K & R definition of the C language. C: A Reference Manual, 3rd edition, Harbison, Samual P.; Steele, Guy L., Prentice Hall, 1991. Provides information on the ANSI standard and extensions of the C language. Intel Architecture Software Developer's Manual, Volume 1: Basic Architecture, Intel Corporation, doc. number 243190. 2

Intel Architecture Software Developer's Manual, Volume 2: Instruction Set Reference Manual, Intel Corporation, doc. number 243191. Intel Architecture Software Developer's Manual, Volume 3: System Programming, Intel Corporation, doc. number 243192. Intel Itanium Assembler User's Guide. Intel Itanium -based Assembly Language Reference Manual. Itanium Architecture Software Developer's Manual Vol. 1: Application Architecture, Intel Corporation, doc. number 245317-001. Itanium Architecture Software Developer's Manual Vol. 2: System Architecture, Intel Corporation, doc. number 245318-001. Itanium Architecture Software Developer's Manual Vol. 3: Instruction Set Reference, Intel Corporation, doc. number 245319-001. Itanium Architecture Software Developer's Manual Vol. 4: Itanium Processor Programmer's Guide, Intel Corporation, doc. number 245319-001. Intel Architecture Optimization Manual, Intel Corporation, doc. number 245127. Intel Processor Identification with the CPUID Instruction, Intel Corporation, doc. number 241618. Intel Architecture MMX(TM) Technology Programmer's Reference Manual, Intel Corporation, doc. number 241618. Pentium Pro Processor Developer's Manual (3-volume Set), Intel Corporation, doc. number 242693. Pentium II Processor Developer's Manual, Intel Corporation, doc. number 243502-001. Pentium Processor Specification Update, Intel Corporation, doc. number 242480. Pentium Processor Family Developer's Manual, Intel Corporation, doc. numbers 241428-005. An Auto-vectorizing Compiler for the Intel Architecture, Aart Bik, Paul Grey, Milind Girkar, and Xinmin Tian. Submitted for publication Efficient Exploitation of Parallelism on Pentium III and Pentium 4 Processor- Based Systems, Aart Bik, Milind Girkar, Paul Grey, and Xinmin Tian. The Software Vectorization Handbook. Applying Multimedia Extensions for Maximum Performance, A.J.C. Bik. Intel Press, June, 2004. Most Intel documents are also available from the Intel Corporation Web site at http://developer.intel.com/software/products/ 3

How to Use This Document This documentation explains how to use the Intel C++ Compiler. It provides information on how to get started with the Intel C++ Compiler, how this compiler operates, and what capabilities it offers for high performance. You learn how to use the standard and advanced compiler optimizations to gain maximum performance of your application. This documentation assumes that you are familiar with the C and C++ standard programming language and with the Intel processor architecture. You should also be familiar with the host computer's operating system. Note This document explains how information and instructions apply differently to each targeted architecture. If there is no specific indication to an architecture, the description is applicable to all architectures. Notation Conventions Style This type style This type style This type style Definition indicates an element of syntax, a reserved word, a keyword, a file name, or part of a program example (text appears in lowercase unless UPPERCASE is required) indicates what you type as input indicates an argument on a command line or an option's argument [ items ] indicates that the items enclosed in brackets are optional { item item }... (ellipses) indicates a set of choices from which you must select one indicates that an argument can be repeated several times The following table lists default compiler installation paths, which will be used if you do not specify an installation directory when you install the product. The term <install-dir> will be used in the documentation to indicate the installation path. Compiler Default Compiler Installation Path IA-32 compiler /opt/intel/cc/9.1.xxx/ Itanium compiler /opt/intel/cc/9.1.xxx/ Intel EM64T /opt/intel/cce/9.1.xxx/ If you specify an installation directory, the installation process will use that directory and will install compiler files under the specified directory. Any path you specify serves as a 4

replacement for the default location of /opt/intel/cc/9.1.xxx/. For example, if, during installation, you specify an installation directory of /Intel_Tools/, the compiler and its subdirectories will be installed below the named directory, as shown in the following example: /Intel_Tools/Bin 5