The _Pragma preprocessing operator

The unary operator _Pragma, which is a C99 feature, allows a preprocessor macro to be contained in a pragma directive.

_Pragma operator syntax

Read syntax diagramSkip visual syntax diagram_Pragma("string_literal ")
The string_literal may be prefixed with L, making it a wide-string literal.
The string literal is destringized and tokenized. The resulting sequence of tokens is processed as if it appeared in a pragma directive. For example:
_Pragma ( "pack(full)" )
would be equivalent to
#pragma pack(full)

C++0x Beginning of C++0x only.

In C++0x, the _Pragma operator feature of the C99 preprocessor is adopted to provide a common preprocessor interface for C and C++ compilers. The _Pragma operator is an alternative method of specifying the #pragma directive. For more information, see C99 preprocessor features adopted in C++11 (C++11).

C++0x End of C++0x only.