The #pragma preprocessor directive specifies option settings to the compiler to control the compiler and linker's code generation.
Checking Pragma Settings
The preprocessor function __option() returns the state of pragma settings at
compile-time.
Saving and Restoring Pragma Settings
There are some occasions when you would like to apply pragma settings to a piece
of source code independently from the settings in the rest of the source file.
Determining Which Settings Are Saved and Restored
Not all pragma settings are saved and restored by pragmas push and pop . Pragmas
that do not change compiler settings are not affected by push and pop .
Invalid Pragmas
If you enable the compiler's setting for reporting invalid pragmas, the compiler
issues a warning when it encounters a pragma it does not recognize.
Pragma Scope
The scope of a pragma setting is limited to a compilation unit (a source code
file and the files that it includes).