[quote name='rnlf' timestamp='1346180569' post='4974205']
It's the other way round. The linker is the one responsible for "linking together" (whence the name) fully compiled source files. This step is (at least in C derived languages like C++) not part of the compiler but a separate step called by the build system.
It's linking together the assembly files? I thought it was linking together the object files, then assembling it. Googling shows you correct, thanks for the insight.
[/quote]
Unless you ask the compiler to do so, it is unlikely to have assembly involved at all. The compiler builds object files, which are machine code along with additional information about their contents. The linker takes these and builds an exe, lib, DLL, whatever which is also machine code.
If assembly is involved, it comes between the compiler and the production of the object files, but there is no particular reason for a compiler to compile via assembly unless a human wishes to inspect it.