Let’s open the Windows (unless you’re on ISS)
Before we delve deep into the internals of how an application is executed under Windows and the steps we must take to reach our main function, please note that from C++’s point of view, there should be no real difference from Linux or any other operating system. The C++-only standard functionality is (should be) identical to the functionality presented in the previous pages, so we won’t repeat the same information here.
We will, however, present how and why the application starts under Windows the way it does and present some techniques that can directly influence this behavior, just like we did under Linux. We’ll also be using a Visual Studio compiler since gcc
and clang
for Windows behave identically, so there’s no sense in presenting them again.
Due to its closed nature, to understand process creation under Windows, we need to resort to the few available resources that deal with this kind...