Developer Guide and Reference

Contents

Microsoft* Compatibility

This content is specific to C++; it does not apply to
DPC++
.
The
Intel® oneAPI
DPC++/C++
Compiler
is fully source- and binary-compatible (native code only) with Microsoft Visual C++*. You can debug binaries built with the
Intel oneAPI
DPC++/C++
Compiler
from within the Microsoft Visual Studio* environment.
The
Intel oneAPI
DPC++/C++
Compiler
supports security checks with the /GS option. You can control this option in the Microsoft Visual Studio IDE by using
C/C++
Code Generation
Buffer Security Check
.

Microsoft Visual Studio Integration

The
Intel oneAPI
DPC++/C++
Compiler
is compatible with Microsoft Visual Studio 2017 and 2019 projects.
The
Intel oneAPI
DPC++/C++
Compiler
only supports native C++ project types provided by Microsoft Visual Studio development environment. The project types with .NET* attributes such as the ones below, cannot be converted to an Intel C++ project:
  • Empty Project (.NET)
  • Class Library (.NET)
  • Console Application (.NET)
  • Windows Control Library (.NET)
  • Windows Forms Application (.NET)
  • Windows Service (.NET)

Unsupported Major Features

  • COM Attributes
  • C++ Accelerated Massive Parallelism (C++ AMP)
  • Managed extensions for C++ (new pragmas, keywords, and command-line options)
  • Event handling (new keywords)
  • __abstract
    keyword
  • __box
    keyword
  • __delegate
    keyword
  • __gc
    keyword
  • __identifier
    keyword
  • __nogc
    keyword
  • __pin
    keyword
  • __property
    keyword
  • __sealed
    keyword
  • __try_cast
    keyword
  • __w64
    keyword

Unsupported Preprocessor Features

  • #import
    directive changes for attributed code
  • #using
    directive
  • managed
    ,
    unmanaged
    pragmas
  • _MANAGED
    macro
  • runtime_checks
    pragma

Mixing Managed and Unmanaged Code

If you use the managed extensions to the C++ language in Microsoft Visual Studio .NET, you can use the
Intel oneAPI
DPC++/C++
Compiler
for your non-managed code for better application performance. Make sure managed keywords do not appear in your non-managed code.
For information on how to mix managed and unmanaged code, refer to the article, "", on the Microsoft Web site.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.