指示编译器在指定了 off(或 -)时关闭堆栈探测或在指定了 on(或 +)时打开堆栈探测。
语法
#pragma check_stack([{on|off}])
#pragma check_stack{+|-}
注解
此 pragma 会在 pragma 出现后定义第一个函数时生效。 堆栈探测既不是宏的一部分也不是以内联方式生成的函数的一部分。
如果不为 check_stackpragma 提供自变量,堆栈检查将还原为在命令行上指定的行为。 有关详细信息,请参阅编译器选项。
#pragma check_stack 和 /Gs 选项的交互在下表中进行了汇总。
使用 check_stack Pragma
| 语法 | 是否使用/Gs 选项? |
操作 |
|---|---|---|
#pragma check_stack( ) 或#pragma check_stack |
是 | 为后面的函数关闭堆栈检查 |
#pragma check_stack( ) 或#pragma check_stack |
否 | 为后面的函数打开堆栈检查 |
#pragma check_stack(on)或 #pragma check_stack + |
是或否 | 为后面的函数打开堆栈检查 |
#pragma check_stack(off)或 #pragma check_stack - |
是或否 | 为后面的函数关闭堆栈检查 |