Explore tens of thousands of sets crafted by our community.
Linkers and Loaders
12
Flashcards
0/12
Static Linking
Static linking involves including external program libraries directly into an executable before runtime. This can increase performance since all the required code is in one place but can lead to larger executables.
Symbol Resolution
Symbol resolution is the process of associating identifiers with their corresponding memory addresses or library functions during linking. This is crucial for the execution of compiled code.
Executable and Linkable Format (ELF)
ELF is a common file format for executables, object code, shared libraries, and core dumps. It provides a standard for different operating systems ensuring compatibility and flexibility.
Binding
Binding is the process of associating each symbolic reference in the code with the physical location in memory where the corresponding code or data resides. It is vital for the program's runtime operation.
Relocation
Relocation adjusts the symbolic references within a program to work with where the program is loaded into memory. It enables the program to execute correctly regardless of its memory address.
Link Time
Link time refers to the phase in program development where a linker combines object modules and libraries to create a single executable. It's key for resolving symbols and references.
Overlay
An overlay is a method of loading additional code and data on demand to replace the current executable sections in memory. This technique is useful when memory resources are limited.
Loader
A loader is a system program that loads an executable and its required libraries into memory, preparing it for execution. The loader plays a critical role in the execution pipeline.
Dynamic Link Library (DLL)
A Dynamic Link Library (DLL) is a file containing code and data that can be used by multiple programs simultaneously. DLLs help reduce the duplication of code loaded in the memory.
Dynamic Linking
Dynamic linking is the process where a program links to libraries at runtime, allowing multiple programs to share a single copy of the library and reducing memory usage. It is important for updating libraries without recompiling programs.
Dynamic Loader
The dynamic loader is a part of the operating system that is responsible for loading, linking, and executing library code at runtime as required, allowing for modular and memory-efficient programs.
Load Time
Load time is when the program and libraries it depends on are loaded into memory by the loader. Successful load time is a prerequisite for the program's execution.
© Hypatia.Tech. 2024 All rights reserved.