C++ also special-cases the `main` function. Probably because `main` is the interface to the OS so it gets special language treatment.

In C++ you're not allowed to call main yourself, so that the compiler can call the global constructors at the start of main.

Which also exist as C extensions, in some compilers.