Share via

optimize pragma

Specifies optimizations on a function-by-function basis.


#pragma optimize( " [ optimization-list ] ", { on | off } )


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 )

See also

Pragma directives and the __pragma and _Pragma keywords