1The input to the linker is the output from the compiler, either directly as object files (.o) are within libraries (.a and .so). Often a linker command will have a single .o file that contains the main program plus a list of libraries.
2
3The output from the linker is the executable or program. There is no default extension, although some people use .exe which is a standard extension on some operating systems.