Not strange. The RTL defines _mainCRTStartup which does all the command-line processing and sets things up (like static constructors ).

So actually, you have windows.h included anyway