A program that resolves cross-references among separately compiled object modules and then assigns final addresses to create a single executable program.