I was totally blown away when I copied / pasted some C++ COM code into a MS Visual Studio Console App project... Trying to learn COM.
When I started to trace/debug the program... the execution does not go to the main() statement as the first point. Wow! Seriously... they made main() not to be Main any longer. I think that is crzy.
I know that in MFC Dialog programs... InitInstance is first... I just didn't know that main() was not primary/first in Console Apps.... I figured that at least those were still normal....
It would not be possible. There's a lot to set up before main() can even start. As a simple example, someone has to read the environment and put the command line arguments into argc and argv.