- Compilation. This turns the Source Code into Object Code.
- Linking. This collects all the various Object Code files and builds them into an EXE or DLL.
Linking is quite a technical process. The obj files generated by the compiler include extra information that the linker needs to ensure that function calls between different obj files are correctly "joined up".