optimize
pragma
Specifies optimizations on a function-by-function basis.
Syntax
#pragma optimize( "
[ optimization-list ]",
{on
|off
})
Remarks
The optimize
pragma must appear outside a function. It takes effect at the first function defined after the pragma is seen. The on
and off
arguments turn options specified in the optimization-list on or off.
The optimization-list can be zero or more of the parameters shown in the following table.
Parameters of the optimize Pragma
Parameter(s) | Type of optimization |
---|---|
g |
Enable global optimizations. Deprecated. For more information, see /Og (Global optimizations). |
s or t |
Specify short or fast sequences of machine code. |
y |
Generate frame pointers on the program stack. |
These parameters are the same letters used with the /O
compiler options. For example, the following pragma is equivalent to the /Os
compiler option:
#pragma optimize( "s", on )
Using the optimize
pragma with the empty string (""
) is a special form of the directive:
When you use the off
parameter, it turns all the optimizations, g
, s
, t
, and y
, off.
When you use the on
parameter, it resets the optimizations to the ones that you specified using the /O
compiler option.
#pragma optimize( "", off )
/* unoptimized code section */
#pragma optimize( "", on )