set_new_handler用法
来源:互联网 发布:sql 行转列 编辑:程序博客网 时间:2024/04/30 14:11
原型:_PNH _set_new_handler( _PNH pNewHandler );
MSDN解释:Transfer control to your error-handling mechanism if the new operator fails to allocate memory.
如果new操作符分配内存失败,则转向_set_new_handler所指定的错误处理机制中去处理。
实例:In this example, when the allocation fails, control is transferred to MyNewHandler.
The argument passed to MyNewHandler is the number of bytes requested.
The value returned from MyNewHandler is a flag indicating whether allocation should be retried:
a nonzero value indicates that allocation should be retried, and a zero value indicates that allocation has failed.
当内存分配失败的时候,调用MyNewHandler. 传递给MyNewHandler的参数是需要的bytes字节数.
而MyNewHandler得返回值代表内存分配是否需要被重新调用。
如果返回0,则表示告诉new操作符分配内存失败;
返回非0,则表示告诉new操作符继续尝试分配内存。
#include <stdio.h>#include <new.h>#define BIG_NUMBER 0x1fffffffint coalesced = 0;int CoalesceHeap(){ coalesced = 1; // Flag RecurseAlloc to stop // do some work to free memory return 0; //表明分配内存失败,程序退出,如果return 1的程序不断的再重新分配内存}// Define a function to be called if new fails to allocate memory.int MyNewHandler( size_t size ){ printf("Allocation failed. Coalescing heap./n"); // Call a function to recover some heap space. return CoalesceHeap();}int RecurseAlloc() { int *pi = new int[BIG_NUMBER]; if (!coalesced) RecurseAlloc(); return 0;}int main(){ // Set the failure handler for new to be MyNewHandler. _set_new_handler( MyNewHandler ); RecurseAlloc();}
- set_new_handler用法
- set_new_handler用法
- set_new_handler
- set_new_handler
- Set_New_Handler()
- set_new_handler
- set_new_handler
- set_new_handler
- new_handler & set_new_handler
- 转:Set_New_Handler()
- 关于set_new_handler
- set_new_handler() C++
- 关于set_new_handler
- 关于set_new_handler
- set_new_handler()总结
- std::set_new_handler
- 关于set_new_handler
- 关于set_new_handler(转载)
- Quake2 Engine研究(一)
- 开发人员应该用好的一些网站
- 初遇XML+XSLT结构
- ORA-27300 ORA-27301 ORA-27302: failure occurred at: skgpalive1
- 存储大纲(STORED OUTLINE)和 SQL PLAN BASELINE不支持并行(parallel)的控制
- set_new_handler用法
- 面试题: -- 11.02.24
- Javascript 注册表添加IE信任站点及启用Activex控件详解
- MySQL Cluster(MySQL 集群)
- 利用内存映射处理文件
- 在Web.Config文件中,和还有先后顺序吗
- 类模板的定义和使用
- windows下获取某个目录下的所有文件信息
- work