Scroll to navigation

SDL_stack_alloc(3) SDL3 FUNCTIONS 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

the datatype of the memory to allocate.
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)

SDL 3.2.14 Simple Directmedia Layer