Your program needs an entry point function. The loader will jump to that function so start the program.
The default function is main().
However, you can have an entry point function other than main. All you need to do is tell the linker the name of the function so the address of that function is loaded as the entry point to start the program.
You can do this in the linker portion of the makefile, or with an IDE like Visual Studio, you set an entry point property to the correct function.
This is not really an overload but is a sneaky way to have a program with no main().