_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 运算符,则它的原因相同失败。 有关更多信息,请参见 C++ 语言的删除 运算符 引用。 若要重写默认值,请调用:

_set_new_mode(1)

早期程序或指向与 Newmode.obj (请参见 LINK选项)。

此功能验证其参数。 除了 0 或 1,如果 newhandlermode 是,任何函数调用的参数无效处理程序,如 参数验证所述。 如果执行允许继续, **_**set_new_mode 返回 -1 并将 errno 到 EINVAL。

要求

实例

必需的头

_set_new_mode

new.h

有关更多兼容性信息,请参见中介绍的 兼容性

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例

请参见

参考

内存分配

calloc

free

realloc

_query_new_handler

_query_new_mode