Search
Support & Downloads
All of Support
This Category
This Product
Software Products
Intel® C++ Compiler for Windows*
Compatibility with Microsoft Visual C++* .NET 2003 and Visual C++ 2005

Contents:


Support for Microsoft Visual C++* .NET 2003 and Visual C++ 2005
The Intel® C++ Compiler 10.0 does NOT support Visual C++ .NET 2002*. It only supports the Visual C++ projects in native C/C++ language. Managed code and attributed code are not supported. The features and limitations of the Intel C++ Compiler are described below.


Features
The Intel® C++ Compiler integration for Microsoft Visual C++* .NET 2003 or Visual C++ 2005 enables you to do the following:

  • Use the Intel C++ Compiler to build new or existing Visual C++ projects.
  • Select either the Intel C++ Compiler or the Visual C++ Compiler to build each configuration of a project or to build individual files of a project.
  • Use compilation options specific to the Intel C++ Compiler to optimize your application.

Support for building IA-64 or Intel® 64 applications within Visual Studio* 2005
The Intel® C++ Compiler for IA-64 or Intel® 64 applications is not integrated with the Microsoft Visual C++* .NET 2003 IDE. But it is integrated with Visual Studio* 2005.

To use the Intel C++ Compiler for Intel 64 application, you need Visual Studio 2005 standard edition or above. To use the Intel C++ Compiler for IA-64 application, you need Visual Studio 2005 Team Suite.


Invoke the Intel® C++ Compiler from within the Microsoft Visual C++* .NET 2003 or Visual C++ 2005 IDE

  1. In the Solution Explorer window, select the project you want to modify.
  2. Right-click on the project name and select Convert To Use Intel C++ Project System. After converting, the Intel C++ Compiler becomes the default compiler for your project.
  3. Open the project’s property, under General & Intel Specific, you can select Microsoft Visual C++ Compiler from Compiler and Environment Setting drop-down box.
  4. You can select the Intel C++ Compiler specific options from the Intel Specific section or add the options in Additional Options.
  5. Click Apply, and then click OK.

Mixed Builds of Intel C++ Compiler and Visual C++ Compiler
To do the mix builds within Intel C++ Compiler or Visual C++ 6.0 within Visual C++ 6.0 IDE, the following method is the only way. But with Visual C++ .NET 2003, or Visual C++ 2005, you can select Microsoft Visual C++ Compiler from the project property. The following method works for the projects that have been converted to Intel C++ Project System within Visual C++ .NET 2003 or Visual C++ 2005 IDE as well.

  1. Right-click on the file name and choose Properties.
  2. Select C/C++ and Preprocessor on the Project Properties dialog.
  3. Add one of the following macros to the preprocessor definitions for the file:
    • Add the _USE_INTEL_COMPILER macro, to build the selected file with the Intel C++ Compiler.
    • Add the _USE_NON_INTEL_COMPILER macro, to build the selected file with the Visual C++ Compiler.
  4. Click Apply, and then click OK.

Accessing a List of Build Options from Within the Microsoft Visual C++* IDE

  1. In the Solution Explorer window, select the project or file you want to modify.
  2. Right-click on the project or file name and select Properties.
  3. Select Configuration Properties » "C/C++" » Command Line on the Property Pages dialog.

ANSI Compatibility Flags
The Intel® C++ Compiler supports the /Zc:forScope and the /Zc:wchar_t flags introduced by Visual C++* .NET.

Binary Compatibility with .NET Intrinsics
Intrinsics are C like functions that make it easy to program for MMX™, SSE, SSE2, SSE3 and SSE4 enabled hardware. Intel compilers have supported intrinsics extensively. The -Qmspp option provided allows for fuller binary compatibility with the Visual Studio .NET implementation of intrinsics. This flag is on by default. Programs that utilize the SIMD instruction sets through the use of auto-vectorization, using the -Qx[KWNPTOS] or -Qax[KWNPTS] flags are not affected by the -Qmspp flag.

Intel C++ Compiler Supports Runtime Checks
Common programming errors can be caught at runtime using the /RTC options. New features implemented in Visual C++* .NET 2003 and Visual C++ 2005 include /RTCc, RTCs, RTCu and the RTC1 options. The Intel C++ Compiler 10.0 supports all of them.

  • /RTCs enables stack frame run-time error checking, including initialization of local variables to nonzero values, detection of overruns and under runs of local variables and verification of stack pointer corruption.
  • /RTCu catches uninitialized variables.
  • /RTCc checks for converting to smaller types.
  • /RTC1 is equivalent to /RTCsu.

Selecting Command-line Compatibility with Microsoft Visual C++* .NET 2003 or Visual C++ 2005
/Qvc[7.1 | 8] should be used for command-line compatibility with Visual C++ .NET 2003 or Visual C++ 2005. Depending on the compiler you select to be command-line compatible with during installation, the appropriate compiler option is then added by default to your command-line compiler configuration file "icl.cfg".

  • /Qvc7.1 - for compatibility with Visual C++ .NET 2003
  • /Qvc8 - for compatibility with Visual C++ 2005

You will also need to set up the appropriate Microsoft command-line environment as well. When you open the Intel® C++ Compiler command console from [Start]->[All Programs]->[Intel(R) Software Development Tools]->[Intel(R) C++ Compiler x.x]->[Build Environment for ....], it sets up the default Microsoft environment initially.

If you require a different environment, run the vcvars32.bat in the bin directory of the desired Microsoft compiler. For example, to set up Visual C++* .NET 2003 's environment, you would run c:\program files\microsoft visual studio .net 2003\vc7\bin\vcvars32.bat.


Other Microsoft Visual C++* Compatibility Information
Additional information can be found on the General Microsoft Visual C++* Compatibility page.

This applies to:
Intel® C++ Compiler for Windows*

Solution ID: CS-007750
Date Created: 15-Dec-2003
Last Modified: 05-Jun-2007
Back to Top