Allegro 5 api
#include <allegro5/allegro.h> #define al_free(p) \ (al_free_with_context((p), __LINE__, __FILE__, __func__))
Like free() in the C standard library, but the implementation may be overridden.
Additionally, on Windows, a memory block allocated by one DLL must be freed from the same DLL. In the few places where an Allegro function returns a pointer that must be freed, you must use al_free(3alleg5) for portability to Windows.
This is a macro.
al_malloc(3alleg5), al_free_with_context(3alleg5)