7.5.2
Memory Management Library
The header file for the memory management library is as follows:
Defines the memory allocation/deallocation function.
By setting an exception handling function address to the _ec2p_new_handler variable, exception handling can be executed if memory allocation fails. The _ec2p_new_handler is a static variable and the initial value is NULL. If this handler is used, reentrance will be lost.
Operations required for the exception handling function:
- | Creates an allocatable area and returns the area. |
- | Operations are not prescribed for cases where an area cannot be created. |
|
|
|
Type
|
new_handler
|
Pointer type to the function that returns a void type.
|
Variable
|
_ec2p_new_handler
|
Pointer to an exception handling function.
|
Function
|
void* operator new(size_t size)
|
Allocates a memory area with a size specified by size.
|
void* operator new[ ](size_t size)
|
Allocates an array area with a size specified by size.
|
void* operator new(
size_t size, void* ptr)
|
Allocates the area specified by ptr as the memory area.
|
void* operator new[ ](
size_t size, void* ptr)
|
Allocates the area specified by ptr as the array area.
|
void operator delete(void* ptr)
|
Deallocates the memory area.
|
void operator delete[ ](void* ptr)
|
Deallocates the array area.
|
new_handler set_new_handler(
new_handler new_P)
|
Sets the exception handling function address (new_P) in _ec2p_new_handler.
|
void* operator new(size_t size)
|
Allocates a memory area with the size specified by size.
If memory allocation fails and when new_handler is set, new_handler is called.
Return value: If memory allocation succeeds: Pointer to void type
If memory allocation fails: NULL
void* operator new[ ](size_t size)
|
Allocates an array area with the size specified by size.
If memory allocation fails and when new_handler is set, new_handler is called.
Return value: If memory allocation succeeds: Pointer to void type
If memory allocation fails: NULL
void* operator new(size_t size, void* ptr)
|
Allocates the area specified by ptr as the storage area.
Return value: ptr
void* operator new[ ](size_t size, void* ptr)
|
Allocates the area specified by ptr as the array area.
Return value: ptr
void operator delete(void* ptr)
|
Deallocates the storage area specified by ptr.
If ptr is NULL, no operation will be performed.
void operator delete[ ](void* ptr)
|
Deallocates the array area specified by ptr.
If ptr is NULL, no operation will be performed.
new_handler set_new_handler(new_handler new_P)
|
Sets new_P to _ec2p_new_handler.
Return value: _ec2p_new_handler.