Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Process Virtualization in VS Compilation of C++ Projects

This section describes in detail how the IncrediBuild architecture is used for Process Virtualization, when Visual Studio performs compilation of C++ projects.

Notes:

  • The following is a simplistic and general explanation of how the IncrediBuild architecture is used for Process Virtualization. It omits many details that occur during the process.
  • In this step by step illustration, Visual Studio is used to perform the necessary compilation of a C++ project. However, the steps are basically identical for any other compiler you decide to use.

The following describes the sequence of events that occur when VS performs compilation of C++ projects:

...

In Visual Studio builds, IncrediBuild executes a VS command (such as DevEnv or MSBuild command), and requests VS to build a solution. When the VS command runs and the VS process is ready to build the solution that IncrediBuild passed to it, IncrediBuild injects DevEnv or MSBuild into the VS process, and acts as a mediator between the calls that the VS process makes and the OS. It monitors all the calls to the OS and decides how to process them.
Image Removed

...

As part of the build command, the build runs compilation processes (cl.exe). When VS runs a cl.exe process (a compilation process), VS runs a Create Process command, which is intercepted by IncrediBuild before it reaches the OS. IncrediBuild detects cl.exe as a process predefined to run on a remote machine, and does not allow this process to reach the OS; instead, it tells VS that a dummy process has been created.
Image Removed

...

Instead of letting the cl.exe process run on the OS, IncrediBuild asks the Coordinator component for a Helper Agent (on a single core), on which it can run the compilation process.
Image Removed

...

Image Removed

...

IncrediBuild's Virtualization Technology:

Child pages (Children Display)
styleh4
pageIncrediBuild's Virtualization Technology

User Manual:

...

Image Added