SDLCALL(3)

SDLCALL3

A macro to set a function's calling conventions.

Usage

#include "SDL3/SDL.h"

#define SDLCALL __cdecl

Header file

Defined in SDL3/SDL_begin_code.h

Overview

SDL uses this macro for all its public functions, and any callbacks it defines. This macro guarantees that calling conventions match between SDL and the app, even if the two were built with different compilers or optimization settings.

When writing a callback function, it is very important for it to be correctly tagged with SDLCALL, as mismatched calling conventions can cause strange behaviors and can be difficult to diagnose. Plus, on many platforms, SDLCALL is defined to nothing, so compilers won't be able to warn that the tag is missing.

This symbol is used in SDL's headers, but apps and other libraries are welcome to use it for their own interfaces as well.

Availability

This macro is available since SDL 3.2.0.

From libsdl3-doc 3.2.10+ds-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.