Quote:
|
the linker takes in the object code and converts it to machine code
|
Not exactly correct: the compiler already creates machine code; what the linker does is to tie the loose ends; for example, in object aaa there is a call to function x located in object bbb; during compile time (of aaa), the compiler cannot determine the address of x. This job, resolving all these external references, is the job of the linker.