What does the linker do, when you're building a C program?
A: It makes sure that your linked lists are properly linked.
B: It turns the output of the compiler (the assembly code) into machine code
C: It includes your header files into the program, so the compiler knows which functions have been declared.
D: It combines object files and libraries and produces a running executable