check_stack
pragma
指示编译器在指定了 off
(或 -
)时关闭堆栈探测或在指定了 on
(或 +
)时打开堆栈探测。
语法
#pragma check_stack(
[{on
|off
}])
#pragma check_stack
{+
|-
}
注解
此 pragma 会在 pragma 出现后定义第一个函数时生效。 堆栈探测既不是宏的一部分也不是以内联方式生成的函数的一部分。
如果不为 check_stack
pragma 提供自变量,堆栈检查将还原为在命令行上指定的行为。 有关详细信息,请参阅编译器选项。 #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 - |
是或否 | 为后面的函数关闭堆栈检查 |