_set_new_mode
为malloc设置新处理程序模式。
int _set_new_mode(
int newhandlermode
);
参数
- newhandlermode
malloc的新处理程序模式;有效值为 0 或 1。
返回值
返回为malloc设置的前处理程序模式。 返回值 1 意味着,分配内存失败,malloc 之前调用新处理程序实例;返回值 0意味着成功。 如果 newhandlermode 参数不等于 0 或 1,则返回 -1。)
备注
C++ _set_new_mode 函数为malloc设置新处理程序模式。 新的处理程序模式指示,在失败时,malloc 是否就像 _set_new_handler 设置的那样调用新的处理程序实例。 默认情况下,malloc 不调用发生故障的新处理程序例程去分配内存。 您可重写此默认行为,这样一来,当 malloc 无法分配内存时, malloc 调用新的处理程序例程,其方式与出于相同原因的 new 运算符的操作相同。 有关更多信息,请参见 new和deleteC++ 语言参考中的运算符。 重写默认值、调用:
_set_new_mode(1)
在程序的早期,或链接到 Newmode.obj (请参阅 链接选项)。
此函数验证其参数。 如果newhandlermode 是 0 或 1 之外的任何数,函数调用参数无效处理程序,如 参数验证所述。 如果允许继续执行, **_**set_new_mode返回-1并设置errno 为EINVAL。
要求
例程 |
必需的标头 |
---|---|
_set_new_mode |
<new.h> |
有关更多兼容性信息,请参见“简介”中的兼容性。
.NET Framework 等效项
不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见平台调用示例。