arena.h

A single header library that implements region-based memory management in C using a linked list approach.

Example

#define ARENA_IMPLEMENTATION
#include "arena.h"

int main(void)
{
    Arena a = {0}; // or arena_create(...) to specify a custom region
                   // capacity just for this arena

    int *x = arena_alloc(&a, sizeof(*x) * 32);
    float *y = arena_alloc(&a, sizeof(*y) * 512);

    arena_free(&a); // The arena can still be reused
    return 0;
}
Description
A single header library that implements region-based memory management in C
Readme MIT 76 KiB
Languages
C 99.3%
Makefile 0.7%