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
프레임워크 및 애플리케이션이 OM_NO_FRAMEWORK_MEMORY_MANAGER로 컴파일된 경우 메모리 관리자 또는 글로벌 new 연산자를 사용하여 메모리를 할당합니다.
이는 다음과 같이 정의합니다.
#define OMGET_MEMORY(size)
OMNEW
프레임워크 및 애플리케이션이 OM_NO_FRAMEWORK_MEMORY_MANAGER로 컴파일된 경우 메모리 관리자 또는 글로벌 new 연산자를 사용하여 메모리를 할당합니다.
이는 다음과 같이 정의합니다.
#define OMNEW(type, size)
OMDELETE
프레임워크 및 애플리케이션이 OM_NO_FRAMEWORK_MEMORY_MANAGER 스위치로 컴파일된 경우 메모리 관리자 또는 글로벌 delete 연산자를 사용하여 지정한 메모리를 삭제합니다.
이는 다음과 같이 정의합니다.
#define OMDELETE(object,size)