The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.



The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at optimize. Specifies optimizations to be performed on a function-by-function basis.

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

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 the following table.

Parameters of the optimize Pragma

Parameter(s)Type of optimization
gEnable global optimizations.
s or tSpecify short or fast sequences of machine code.
yGenerate frame pointers on the program stack.

These are the same letters used with the /O compiler options. For example, the following pragma is equivalent to the /Os compiler option:

#pragma optimize( "ts", 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 earlier in this topic, 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 and the __Pragma Keyword