Which Library to Link into Your Application
Both the debug and release versions for Threading Building Blocks are divided into two dynamic shared libraries, one with general support and the other with a scalable memory allocator. The latter is distinguished by malloc in its name (although it does not define a routine actually called malloc). For example, the release versions for Windows are tbb.dll and tbbmalloc.dll, respectively.
Therefore, applications have a variety of choices. The scalable_allocator template requires the scalable memory allocator library and does not require the general library. The cache_aligned_allocator<T> template uses the scalable allocator library if it is present, and otherwise reverts to using malloc and free. Thus, cache_aligned_ allocator<T> can be used without the memory allocator library, but the resulting allocators will likely not scale. The rest of Threading Building Blocks can be used with or without the scalable memory allocator library.