An app-supplied function for program entry.
Defined in <SDL3/SDL_main.h>
int SDL_main(int argc, char *argv[]);
int | argc | an ANSI-C style main function's argc. |
char ** | argv | an ANSI-C style main function's argv. |
(int) Returns an ANSI-C main return code; generally 0 is considered successful program completion, and small non-zero values are considered errors.
Apps do not directly create this function; they should create a standard ANSI-C main
function instead. If SDL needs to insert some startup code before main
runs, or the platform doesn't actually use a function called "main", SDL will do some macro magic to redefine main
to SDL_main
and provide its own main
.
Apps should include SDL_main.h
in the same file as their main
function, and they should not use that symbol for anything else in that file, as it might get redefined.
This function is only provided by the app if it isn't using SDL_MAIN_USE_CALLBACKS.
Program startup is a surprisingly complex topic. Please see README/main-functions, (or docs/README-main-functions.md in the source tree) for a more detailed explanation.
This is the program entry point.
This function is available since SDL 3.1.3.