#pragma optimize( "[optimization-list]", {on | off} )
Feature Only in Professional and Enterprise Edition Code optimization is supported only in Visual C++ Professional and Enterprise Editions. For more information, see Visual C++ Editions.
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 no aliasing across function calls. |
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. It either turns off all optimizations or restores them to their original (or default) settings.
#pragma optimize( "", off )
.
.
.
#pragma optimize( "", on )