Data Explorer recognizes two kinds of memory--local and global. Stack variables and memory allocated by DXAllocateLocal() are local to the processor. Memory allocated by DXAllocate() (including all Objects) is global and may or may not reside in the processor. (On some platforms, such as those without per-processor local memory, there is no distinction between global and local.)
Data Explorer's memory-allocation routines, which provide hooks for debugging, also distinguish between local and global allocation. These, rather than the standard system memory-allocation routines (such as malloc()), are recommended, to ensure consistent management of memory.
Pointer DXAllocate()
| Allocate global memory. See DXAllocate, DXAllocateZero, DXAllocateLocal, DXAllocateLocalZero, DXAllocateLocalOnly, DXAllocateLocalOnlyZero. |
Pointer DXAllocateLocal()
| Allocate local memory if available; otherwise, global memory. See DXAllocate, DXAllocateZero, DXAllocateLocal, DXAllocateLocalZero, DXAllocateLocalOnly, DXAllocateLocalOnlyZero. |
Pointer DXAllocateLocalOnly()
| Allocate local memory. See DXAllocate, DXAllocateZero, DXAllocateLocal, DXAllocateLocalZero, DXAllocateLocalOnly, DXAllocateLocalOnlyZero. |
Pointer DXReAllocate() | Changes the size of a previously allocated block of memory. See DXReAllocate. |
Error DXFree() | Frees a previously allocated block of memory. See DXFree. |
Less Commonly Used Routines
void DXPrintAlloc() | Prints out a summary of memory use. See DXPrintAlloc. |