Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Lightweight dynamic memory manager

Read first: Documentation


  • Written in C (C11), compatible with size_t for size data types
  • Implements standard C library functions for memory allocation, malloc, calloc, realloc and free
  • Uses first-fit algorithm to search for free block
  • Supports multiple allocation instances to split between memories and/or CPU cores
  • Supports different memory regions to allow use of fragmented memories
  • Highly configurable for memory allocation and reallocation
  • Supports embedded applications with fragmented memories
  • Supports automotive applications
  • Supports advanced free/realloc algorithms to optimize memory usage
  • Operating system ready, thread-safe API
  • C++ wrapper functions
  • User friendly MIT license


Fresh contributions are always welcome. Simple instructions to proceed:

  1. Fork Github repository
  2. Follow C style & coding rules already used in the project
  3. Create a pull request to develop branch with new features or bug fixes

Alternatively you may:

  1. Report a bug
  2. Ask for a feature request