object file .o / .obj
It contains object code. The code is not directly executable as there is position-dependent code.
This means that parts of these need to be relocated.
This means that they use symbols as placeholders, and a linker substitutes these for actual memory addresses.