SDL_RunApp3
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.
Usage
#include "SDL3/SDL.h"
int SDL_RunApp(int argc, char *argv[], SDL_main_func mainFunction, void *reserved);
Header file
Defined in SDL3/SDL_main.h
Overview
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 ().
Function 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 be
main.
- 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.