---
name: "al_run_main"
section: "3alleg5"
platform: "linux"
package: "allegro5-doc"
version: "2:5.2.10.1+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/al_run_main/3alleg5"
---

# al\_run\_main(3alleg5)

Allegro 5 API

## NAME

al\_run\_main - Allegro 5 API

## SYNOPSIS

-

  ```
  #include <allegro5/allegro.h>
  int al_run_main(int argc, char **argv, int (*user_main)(int, char **))
  ```

## DESCRIPTION

This function is useful in cases where you don’t have a main() function but want to run Allegro (mostly useful in a wrapper library). Under Windows and Linux this is no problem because you simply can call al\_install\_system(3alleg5). But some other system (like OSX) don’t allow calling al\_install\_system(3alleg5) in the main thread. al\_run\_main will know what to do in that case.

The passed argc and argv will simply be passed on to user\_main and the return value of user\_main will be returned.
