2.2.7
Linkers, Loaders & Libraries
Linkers, Loaders & Libraries
Linkers, Loaders & Libraries
When programming, we often use libraries built into programming languages to make coding solutions quicker and easier. These are linked in, by linkers, and loaded by loaders when your code runs.
Libraries
Libraries
- Libraries exist in most programming languages and offer shorthand ways to achieve a task.
- These libraries are pre-written, compiled, tested and checked pieces of code that developers can rely on to help shorten code.
- Libraries give developers shortcuts to achieve what they want without keep repeating code.
- For example, the print function in python.
Linkers
Linkers
- Linkers are the software responsible for linking libraries to code that uses them.
- Libraries can be statically linked or dynamically linked.
- Statically linked libraries are included in the object or machine code when it is compiled.
- This increases the binary footprint of the code, but the library becomes built into the code meaning an end user doesn’t need it to be installed.
Dynamically linked libraries
Dynamically linked libraries
- Dynamically linked libraries are not built into the code.
- These libraries are loaded in when the object or machine code is passed to the CPU to run, just when it needs it.
- Dynamically linked libraries mean your binary footprint is smaller, but the library needs to be installed on the computer.
Loaders
Loaders
- Loaders are a type of program that loads the program you're trying to run.
- Loaders are a part of the operating system that find a good place for object or machine code to sit in memory.
- For statically linked libraries all of the code and the library are loaded into memory, which takes up more room.
- For dynamically linked libraries, the loader will load the library into memory when the program needs it.
1Components of a Computer
1.1Structure & Function of the Processor
1.2Types of Processors
2Software & Software Development
2.1Systems Software
2.2Applications Generation
2.3Software Development
3Exchanging Data
3.1Compression, Encryption & Hashing
3.3Networks
4Data Types, Data Structures & Algorithms
4.1Data Types
5Legal, Moral, Cultural & Ethical Issues
5.1Computing Related Legislation
6Elements of Computational Thinking
6.1Thinking Abstractly
6.2Thinking Procedurally
6.3Thinking Logically
7Problem Solving & Programming
7.1Programming Techniques
7.2Programming Construction
Jump to other topics
1Components of a Computer
1.1Structure & Function of the Processor
1.2Types of Processors
2Software & Software Development
2.1Systems Software
2.2Applications Generation
2.3Software Development
3Exchanging Data
3.1Compression, Encryption & Hashing
3.3Networks
4Data Types, Data Structures & Algorithms
4.1Data Types
5Legal, Moral, Cultural & Ethical Issues
5.1Computing Related Legislation
6Elements of Computational Thinking
6.1Thinking Abstractly
6.2Thinking Procedurally
6.3Thinking Logically
7Problem Solving & Programming
7.1Programming Techniques
7.2Programming Construction
Unlock your full potential with GoStudent tutoring
Affordable 1:1 tutoring from the comfort of your home
Tutors are matched to your specific learning needs
30+ school subjects covered