A built-in version of the simple memory management API described
above (i.e with direct calls to malloc, free, etc.) is available for
users who have the source code version of the run-time. The only
difference in this API with what is described above is that tracking of
allocated memory is done through the context. This makes it possible to
provide an implementation of the
rtxMemHeapFreeAll
function as described
above. This memory management scheme is slower than the default manager
(i.e. nibble-based), but has a smaller code footprint.
This form of memory management is enabled by defining the
_MEMCOMPACT C compile time setting. This can be done by either adding
-D_MEMCOMPACT to the C compiler command-line arguments, or by
uncommenting this item at the beginning of the
rtxMemory.h
header file:
/* * Uncomment this definition before building the C or C++ run-time * libraries to enable compact memory management. This will have a * smaller code footprint than the standard memory management; however, * the performance may not be as good. */ /*#define _MEMCOMPACT*/