Linker Program

I find it hard to believe that this page hasn't existed before...

In its most general sense, a linker is a program which does takes one or more files containing ObjectCode, aggregates them together, and does something useful with the resulting aggregation. The input files can be explicitly specified (corresponding to the user's program), or system libraries which are implicitly included. The "does something useful" part can be generation of a resulting object file or executable, execution of the resulting aggregation, or both. In addition, the "something useful" can include a significant optimization phase.

In some cases (DynamicCompilation) linkers subsume much of the functionality of compilers. The runtime engine of a scripting language may do everything a traditional compiler and linker would do - parsing and semantic analysis of the program text, optimization, generation of machine code or an IntermediateForm?, combining the result with other libraries, and execution of the final program.

Many other terms are used to refer to specific categories of linkers, or programs which include linker functionality:

The classic text on the subject is the LinkersAndLoadersBook


CategoryLinker, CategorySoftwareTool


EditText of this page (last edited July 15, 2014) or FindPage with title or text search