# CategoryMain Redefine main() if necessary so that it is called by SDL. In order to make this consistent on all platforms, the application's main() should look like this: ```c int main(int argc, char *argv[]) { } ``` SDL will take care of platform specific details on how it gets called. This is also where an app can be configured to use the main callbacks, via the [SDL_MAIN_USE_CALLBACKS](SDL_MAIN_USE_CALLBACKS) macro. This is a "single-header library," which is to say that including this header inserts code into your program, and you should only include it once in most cases. SDL.h does not include this header automatically. For more information, see: https://wiki.libsdl.org/SDL3/README/main-functions ## Functions - [SDL_AppEvent](SDL_AppEvent) - [SDL_AppInit](SDL_AppInit) - [SDL_AppIterate](SDL_AppIterate) - [SDL_AppQuit](SDL_AppQuit) - [SDL_EnterAppMainCallbacks](SDL_EnterAppMainCallbacks) - [SDL_GDKSuspendComplete](SDL_GDKSuspendComplete) - [SDL_main](SDL_main) - [SDL_RegisterApp](SDL_RegisterApp) - [SDL_RunApp](SDL_RunApp) - [SDL_SetMainReady](SDL_SetMainReady) - [SDL_UnregisterApp](SDL_UnregisterApp) ## Datatypes - [SDL_main_func](SDL_main_func) ## Structs - (none.) ## Enums - (none.) ## Macros - [SDL_MAIN_USE_CALLBACKS](SDL_MAIN_USE_CALLBACKS) ---- [CategoryAPICategory](CategoryAPICategory)