Initially, the preprocessor conducts source code preprocessing, handling directives and creating a temporary file.
Subsequently, the compiler undertakes the translation of the preprocessed code into object code.
Finally, the linker processes multiple object code files, resolving interdependencies and constructing the ultimate executable program.