SDL_stack_alloc(3)

NAME
SDL_stack_alloc - Allocate memory on the stack (maybe).

SYNOPSIS
#include <SDL3/SDL_stdinc.h>

#define SDL_stack_alloc(type, count)    (type*)alloca(sizeof(type)*(count))

DESCRIPTION
If SDL knows how to access alloca() on the current platform, it will use it to stack-allocate memory here. If it doesn't, it will use SDL_malloc() to heap-allocate memory.

Since this might not be stack memory at all, it's important that you check the returned pointer for NULL, and that you call SDL_stack_free on the memory when done with it. Since this might be stack memory, it's important that you don't allocate large amounts of it, or allocate in a loop without returning from the function, so the stack doesn't overflow.

MACRO PARAMETERS

type
    the datatype of the memory to allocate.

count
    the number of type objects to allocate.

RETURN VALUE
Returns newly-allocated memory, or NULL on failure.

THREAD SAFETY
It is safe to call this macro from any thread.

AVAILABILITY
This macro is available since SDL 3.2.0.

SEE ALSO
SDL_stack_free(3)