---
name: "al_free"
section: "3"
platform: "linux"
package: "allegro"
version: "5.2.11.3-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/al_free"
---

# al\_free(3)

Allegro 5 API

## NAME

al\_free - Allegro 5 API

## SYNOPSIS

-

  ```
  #include <allegro5/allegro.h>
  #define al_free(p) \
     (al_free_with_context((p), __LINE__, __FILE__, __func__))
  ```

## DESCRIPTION

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(3)](/al_free/3.md) for portability to Windows.

This is a macro.

## SEE ALSO

[al\_malloc(3)](/al_malloc/3.md), [al\_free\_with\_context(3)](/al_free_with_context/3.md)
