OMMemoryManager 클래스

OMMemoryManager는 프레임워크의 기본 메모리 관리자입니다. 이 클래스는 사용자 정의 메모리 관리자를 사용할 수 있도록 하는 메커니즘의 일부입니다.

OXF에는 다음 요소에 대한 메모리 제어 지원 기능이 내장되어 있습니다.

기본 클래스

OMAbstractMemoryAllocator

생성 요약
OMMemoryManager
OMMemoryManager 오브젝트를 생성합니다.
~OMMemoryManager
OMMemoryManager 오브젝트를 영구 삭제합니다.
매크로 및 연산자 요약
OM_DECLARE_FRAMEWORK_
MEMORY_ALLOCATION_
OPERATORS
메모리 할당 연산자를 정의합니다.
OMDELETE
프레임워크 및 애플리케이션이 OM_NO_FRAMEWORK_MEMORY_MANAGER로 컴파일된 경우 메모리 관리자 또는 글로벌 삭제 연산자를 사용하여 지정한 메모리를 삭제합니다.
OMGET_MEMORY
프레임워크 및 애플리케이션이 OM_NO_FRAMEWORK_MEMORY_MANAGER로 컴파일된 경우 메모리 관리자 또는 글로벌 new 연산자를 사용하여 메모리를 할당합니다.
OMNEW
프레임워크 및 애플리케이션이 OM_NO_FRAMEWORK_MEMORY_MANAGER로 컴파일된 경우 메모리 관리자 또는 글로벌 new 연산자를 사용하여 메모리를 할당합니다.
메소드 요약
getDefaultMemoryManager
기본 메모리 관리자를 리턴합니다.
getMemory
기본 관리자가 할당한 메모리를 기록합니다.
getMemoryManager
현재 메모리 관리자를 리턴합니다.
returnMemory
인스턴스에서 메모리를 리턴합니다.
연산자 및 매크로

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)

피드백