When we talk about the compiler, there are actually three separate steps involved in creating the executable file.
Compiling
Assembling
Linking
The components involved in this process are collectively called the toolchain because the tools chain the output of one to the input of the other to create the final output.
Each link in the chain takes the source code progressively closer to being binary code suitable for execution.