Skip to content
Related Articles

Related Articles

Difference between Linker and Loader

View Discussion
Improve Article
Save Article
Like Article
  • Difficulty Level : Easy
  • Last Updated : 14 Mar, 2022

In execution of the program, major role is played by two utility programs known as Linker and Loader. 

1. Linker : 
A linker is special program that combines the object files, generated by compiler/assembler, and other pieces of codes to originate an executable file have. exe extension. In the object file, linker searches and append all libraries needed for execution of file. It regulates the memory space that will hold the code from each module. It also merges two or more separate object programs and establishes link among them. Generally, linkers are of two types : 

1. Linkage Editor
2. Dynamic Linker 

2. Loader : 
The loader is special program that takes input of executable files from linker, loads it to main memory, and prepares this code for execution by computer. Loader allocates memory space to program. Even it settles down symbolic reference between objects. It is in charge of loading programs and libraries in operating system. The embedded computer systems don’t have loaders. In them, code is executed through ROM. There are following various loading schemes: 

1. Absolute Loaders
2. Relocating Loaders
3. Direct Linking Loaders
4. Bootstrap Loaders

Difference Between Linker and Loader : 

1The main function of Linker is to generate executable files.Whereas main objective of Loader is to load executable files to main memory.
2The linker takes input of object code generated by compiler/assembler.And the loader takes input of executable files generated by linker.
3Linking can be defined as process of combining various pieces of codes and source code to obtain executable code.Loading can be defined as process of loading executable codes to main memory for further execution.
4Linkers are of 2 types: Linkage Editor and Dynamic Linker.Loaders are of 4 types: Absolute, Relocating, Direct Linking, Bootstrap.
5Another use of linker is to combine all object modules.It helps in allocating the address to executable codes/files.
6Linker is also responsible for arranging objects in program’s address space.Loader is also responsible for adjusting references which are used within the program.

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!