# Pragmas

Pragmas are directives that provide instructions to the compiler for use in specific cases. For example, you can use the `novector` pragma to specify that a loop should never be vectorized. The keyword `#pragma` is standard in the C++ language, but individual pragmas are machine-specific or operating system-specific, and vary by compiler.

Some pragmas provide the same functionality as compiler options. Pragmas override behavior specified by compiler options.

Some pragmas are available for both Intel® and non-Intel microprocessors but they may perform additional optimizations for Intel® microprocessors than they perform for non-Intel microprocessors. Refer to the individual pragma name for detailed description.

The Intel® oneAPI DPC++/C++ Compiler pragmas are categorized as follows:

- Intel-specific Pragmas - pragmas developed or modified by Intel to work specifically with the Intel oneAPI DPC++/C++ Compiler

- Intel Supported Pragmas - pragmas developed by external sources that are supported by the Intel oneAPI DPC++/C++ Compiler for compatibility reasons

## Using Pragmas

You enter pragmas into your C++ source code using the following syntax:

    #pragma <pragma name>

## Individual Pragma Descriptions

Each pragma description has the following details:

Section | Description
--- | ---
Short Description | Contains a brief description of what the pragma does.
Syntax | Contains the pragma syntax.
Arguments | Contains a list of the arguments (parameters).
Description | Contains a detailed description of what the pragma does.
Example | Contains typical usage example/s.
See Also | Contains links or paths to other pragmas or related topics.

Parent topic: Compiler Reference

- Intel-Specific Pragma Reference
- Intel-supported Pragma Reference