check_stack
#pragma check_stack([ {on | off}] )
#pragma check_stack{+ | –}
Instructs the compiler to turn off stack probes if off (or –) is specified, or to turn on stack probes if on (or +) is specified. If no argument is given, stack probes are treated according to the default. This pragma takes effect at the first function defined after the pragma is seen. Stack probes are not a part of macros nor of functions that are generated inline.
If you don’t give an argument for the check_stack pragma, stack checking reverts to the behavior specified on the command line. For more information, see Compiler Reference. The interaction of the #pragma check_stack and the /Gs option is summarized in Table 2.1.
Table 2.1 Using the check_stack Pragma
Syntax | Compiled with /Gs option? |
Action |
#pragma check_stack( ) or #pragma check_stack |
Yes | Turns off stack checking for functions that follow |
#pragma check_stack( ) or #pragma check_stack |
No | Turns on stack checking for functions that follow |
#pragma check_stack(on) or #pragma check_stack + |
Yes or no | Turns on stack checking for functions that follow |
#pragma check_stack(off) or #pragma check_stack – |
Yes or no | Turns off stack checking for functions that follow |