Executable C++ program code is usually produced by a compiler.
A compiler is a program that translates code from a programming language into another form which is (more) directly executable for a computer. Using a compiler to translate code is called compilation.
C++ inherits the form of its compilation process from its "parent" language, C. Below is a list showing the four major steps of compilation in C++:
Many C++ compilers may also merge or un-merge certain parts of the compilation process for ease or for additional analysis. Many C++ programmers will use different tools, but all of the tools will generally follow this generalized process when they are involved in the production of a program.
The link below extends this discussion and provides a nice graphic to help. : http://faculty.cs.niu.edu/~mcmahon/CS241/Notes/compile.html