/* Copyright (c) 2005-2019 Intel Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ /* Replacing the standard memory allocation routines in Microsoft* C/C++ RTL (malloc/free, global new/delete, etc.) with the TBB memory allocator. Include the following header to a source of any binary which is loaded during application startup #include "tbb/tbbmalloc_proxy.h" or add following parameters to the linker options for the binary which is loaded during application startup. It can be either exe-file or dll. For win32 tbbmalloc_proxy.lib /INCLUDE:"___TBB_malloc_proxy" win64 tbbmalloc_proxy.lib /INCLUDE:"__TBB_malloc_proxy" */ #ifndef __TBB_tbbmalloc_proxy_for_inchi_H #define __TBB_tbbmalloc_proxy_for_inchi_H #ifdef _MSC_VER #ifdef _DEBUG #pragma comment(lib, "tbbmalloc_proxy_debug.lib") #pragma comment(lib, "tbbmalloc_debug.lib") #else #pragma comment(lib, "tbbmalloc_proxy.lib") #pragma comment(lib, "tbbmalloc.lib") #endif #if defined(_WIN64) #pragma comment(linker, "/include:__TBB_malloc_proxy") #else #pragma comment(linker, "/include:___TBB_malloc_proxy") #endif /*#else*/ #elif _WIN32 /* Primarily to support MinGW */ #ifndef COMPILE_ALL_CPP #ifdef __cplusplus extern "C" { #endif #endif void __TBB_malloc_proxy(); #ifndef COMPILE_ALL_CPP #ifdef __cplusplus } #endif #endif struct __TBB_malloc_proxy_caller { __TBB_malloc_proxy_caller() { __TBB_malloc_proxy(); } } volatile __TBB_malloc_proxy_helper_object; #endif /* _MSC_VER */ /* Public Windows API */ #ifndef COMPILE_ALL_CPP #ifdef __cplusplus extern "C" { #endif #endif int TBB_malloc_replacement_log(char *** function_replacement_log_ptr); #ifndef COMPILE_ALL_CPP #ifdef __cplusplus } #endif #endif #endif /*__TBB_tbbmalloc_proxy_for_inchi_H */