new_sof.cpp
来自「MMI层OBJ不能完全编译」· C++ 代码 · 共 42 行
CPP
42 行
/*****************************************************************************/
/* new_sof v2.54 */
/* Copyright (c) 1996-2004 Texas Instruments Incorporated */
/*****************************************************************************/
#include <cstdlib>
#include <new>
namespace std
{
extern new_handler new_handler_fun;
}
/****************************************************************************/
/* */
/* OPERATOR NEW() - DEFAULT GLOBAL ALLOCATION FUNCTION FOR SINGLE OBJECTS. */
/* */
/****************************************************************************/
void *operator new(std::size_t size) // throw(std::bad_alloc)
{
void *p;
/*-----------------------------------------------------------------------*/
/* IF SIZE IS ZERO, INCREASE TO ONE SO THAT A UNIQUE POINTER IS RETURNED.*/
/*-----------------------------------------------------------------------*/
if (size == 0) size = 1;
/*-----------------------------------------------------------------------*/
/* ATTEMPT TO ALLOCATE THE REQUESTED SPACE. */
/* IF ATTEMPT FAILS, CALL new_handler() IF SET, ELSE THROW AN EXCEPTION. */
/* THE LOOP TERMINATES WHEN ALLOCATION IS SUCCESSFUL, new_handler() */
/* NEVER RETURNS, OR AN EXCEPTION IS THROWN. */
/*-----------------------------------------------------------------------*/
while (!(p = std::malloc(size)))
{
if (std::new_handler_fun) std::new_handler_fun();
// else throw std::bad_alloc;
else return p;
}
return p;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?