Windows* OS C/C++ Dynamic Memory Interface Replacement

Release version of the proxy library is tbbmalloc_proxy.dll, debug version is tbbmalloc_debug_proxy.dll.

The following dynamic memory functions are replaced:

Note

Replacement of memory allocation functions is not supported for Universal Windows Platform applications.

Note

Prior to Intel® Threading Building Blocks (Intel® TBB) 2019, replaced global operator new might not call the std::new_handler.

To do the replacement use one of the following methods:

The OS program loader must be able to find the proxy library and the scalable memory allocator library at program load time. For that you may include the directory containing the libraries in the PATH environment variable.

The replacement uses in-memory binary instrumentation of Visual C++* runtime libraries. To ensure correctness, it must first recognize a subset of dynamic memory functions in these libraries. If a problem occurs, the replacement is skipped, and the program continues to use the standard memory allocation functions. You can use the TBB_malloc_replacement_log function to check if the replacement has succeeded and to get additional information.

Set the TBB_MALLOC_DISABLE_REPLACEMENT environment variable to 1 to disable replacement for a specific program invocation. In this case, the program will use standard dynamic memory allocation functions. Note that the TBB memory allocation libraries are still required for the program to start even if their usage is disabled.