The _Pragma preprocessing operator

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

Read syntax diagramSkip visual syntax diagram_Pragma operator syntax
 
>>-_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)

Related information