OMMemoryManager 是框架的缺省内存管理器。这是允许您使用定制内存管理器的机制的组成部分。
OXF 对下列元素提供了内置的内存控制支持:
OMMemoryManager 类支持用户对内存分配进行控制。
另外,还提供了针对应用程序退出时提早析构的保护。此保护确保内部内存管理器单实例在应用程序终止后仍有效。要实现此目标,必须在类中提供下列成员:
OMAbstractMemoryAllocator
OM_DECLARE_FRAMEWORK_MEMORY_ALLOCATION_OPERATORS
宏和运算符支持用户对内存分配进行控制。对于每个编译器,新参数 NEW_DUMMY_PARAM 设置为“size_t=0”。
更新后的定义如下所示:
define OM_DECLARE_FRAMEWORK_MEMORY_ALLOCATION_OPERATORS
public:
static void* operator new (size_t size
NEW_DUMMY_PARAM)
static void* operator new[] (size_t size
NEW_DUMMY_PARAM
static void operator delete (void * object,
size_t size)
static void operator delete[] (void * object,
size_t size)
OMGET_MEMORY
使用内存管理器或全局 new 运算符来分配内存(如果在指定了 OM_NO_FRAMEWORK_MEMORY_MANAGER 的情况下编译框架和应用程序)。
其定义如下所示:
#define OMGET_MEMORY(size)
OMNEW
使用内存管理器或全局 new 运算符来分配内存(如果在指定了 OM_NO_FRAMEWORK_MEMORY_MANAGER 的情况下编译框架和应用程序)。
其定义如下所示:
#define OMNEW(type, size)
OMDELETE
使用内存管理器或全局 delete 运算符来删除指定的内存(如果在指定了 OM_NO_FRAMEWORK_MEMORY_MANAGER 开关的情况下编译框架和应用程序)。
其定义如下所示:
#define OMDELETE(object,size)