Memory Allocation
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Memory Allocation.
Use these routines to allocate, free, and reallocate memory.
Memory-Allocation Routines
Routine | Use | .NET Framework equivalent |
---|---|---|
_alloca, _malloca | Allocate memory from stack | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
calloc | Allocate storage for array, initializing every byte in allocated block to 0 | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_calloc_dbg | Debug version of calloc ; only available in the debug versions of the run-time libraries |
Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
operator delete | Free allocated block | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
operator delete[] | Free allocated block | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_expand | Expand or shrink block of memory without moving it | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_expand_dbg | Debug version of _expand ; only available in the debug versions of the run-time libraries |
Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
free | Free allocated block | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_free_dbg | Debug version of free ; only available in the debug versions of the run-time libraries |
Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_freea | Free allocated block from stack | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_get_heap_handle | Get Win32 HANDLE of the CRT heap. | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_heapadd | Add memory to heap | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_heapchk | Check heap for consistency | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_heapmin | Release unused memory in heap | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_heapset | Fill free heap entries with specified value | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_heapwalk | Return information about each entry in heap | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
malloc | Allocate block of memory from heap | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_malloc_dbg | Debug version of malloc ; only available in the debug versions of the run-time libraries |
Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_msize | Return size of allocated block | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_msize_dbg | Debug version of _msize ; only available in the debug versions of the run-time libraries |
Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
new | Allocate block of memory from heap | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
new[] | Allocate block of memory from heap | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_query_new_handler | Return address of current new handler routine as set by _set_new_handler |
Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_query_new_mode | Return integer indicating new handler mode set by _set_new_mode for malloc |
Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
realloc | Reallocate block to new size | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_realloc_dbg | Debug version of realloc ; only available in the debug versions of the run-time libraries |
Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_set_new_handler | Enable error-handling mechanism when new operator fails (to allocate memory) and enable compilation of Standard Template Libraries (STL) |
Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
_set_new_mode | Set new handler mode for malloc |
Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |