Share via


optimize

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

Specifies optimizations to be performed on a function-by-function basis. The optimize pragma must appear outside a function and 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 Table 2.2.

Table 2.2   Parameters of the optimize Pragma

Parameter(s) Type of optimization
a Assume no aliasing.
g Enable global optimizations.
p Improve floating-point consistency.
s or t Specify short or fast sequences of machine code.
w Assume that aliasing can occur across function calls (achieves the same effect as /Ow).
y Generate frame pointers on the program stack.

These are the same letters used with the /O compiler options. For example:

#pragma optimize( "atp", on )

Using the optimize pragma with the empty string ("") is a special form of the directive:

  • When you use the off parameter, it turns the optimizations, listed in the table above, off.
  • When you use the on parameter, it resets the optimizations to those that you specified with the /O compiler option.
#pragma optimize( "", off )
.
.
.
#pragma optimize( "", on )

Pragma Directives