#pragma
 
Preprocessor directive

Syntax

#pragma option [ = value ]
Or
#pragma push ( option [, value ] )
Or
#pragma pop ( option )

Parameters

Possible values for option and related values:

Option Value Description
msbitfields 0 Use bitfields compatible with gcc (default)
  -1 (or any other non-zero value) Use bitfields compatible with those used in Microsoft C compilers
once N/A cause the source file in which the pragma appears to behave as though it was included with #include once ...


If value is not given, the compiler assumes -1 (TRUE).

Description

Allows the setting of compiler options inside the source code.

Push saves the current value of the option onto a stack, then assigns the new value (or -1) to it. Pop restores the option to its previous value, and removes it from the stack. This mechanism allows options to be changed for a certain part of source code, regardless of the setting used by the context, which is especially useful inside #include header files.

Example

'' MSVC-compatible bitfields: save the current setting and then enable them
#pragma push(msbitfields)

'' do something that requires MS-compatible bitfields here

'' restore original setting
#pragma pop(msbitfields)


Differences from QB

  • New to FreeBASIC

See also