Function SDL_RunApp
pub unsafe extern "C" fn SDL_RunApp(
argc: i32,
argv: *mut *mut i8,
mainFunction: Option<unsafe extern "C" fn(_: i32, _: *mut *mut i8) -> i32>,
reserved: *mut c_void,
) -> i32
Available on crate feature
dep_sdl3
only.Expand description
Initializes and launches an SDL application, by doing platform-specific initialization before calling your mainFunction and cleanups after it returns, if that is needed for a specific platform, otherwise it just calls mainFunction.
You can use this if you want to use your own main() implementation without
using SDL_main
(like when using SDL_MAIN_HANDLED). When using this, you do
not need SDL_SetMainReady()
.
§Parameters
argc
: the argc parameter from the application’s main() function, or 0 if the platform’s main-equivalent has no argc.argv
: the argv parameter from the application’s main() function, or NULL if the platform’s main-equivalent has no argv.mainFunction
: your SDL app’s C-style main(). NOT the function you’re calling this from! Its name doesn’t matter; it doesn’t literally have to bemain
.reserved
: should be NULL (reserved for future use, will probably be platform-specific then).
§Return value
Returns the return value from mainFunction: 0 on success, otherwise
failure; SDL_GetError()
might have more information on the
failure.
§Thread safety
Generally this is called once, near startup, from the process’s initial thread.
§Availability
This function is available since SDL 3.2.0.