...
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.
...
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.
...
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.
...
...
IncrediBuild's Virtualization Technology:
Child pages (Children Display) style h4 page IncrediBuild's Virtualization Technology
User Manual:
...