Function SDL_main

pub unsafe extern "C" fn SDL_main(
    argc: i32,
    argv: *mut *mut i8,
) -> i32
Available on crate feature dep_sdl3 only.
Expand description

An app-supplied function for program entry.

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.

§Parameters

  • argc: an ANSI-C style main function’s argc.
  • argv: an ANSI-C style main function’s argv.

§Return value

Returns an ANSI-C main return code; generally 0 is considered successful program completion, and small non-zero values are considered errors.

§Thread safety

This is the program entry point.

§Availability

This function is available since SDL 3.2.0.