Libraries, Linkers & Loaders (OCR A-Level Computer Science): Flashcards
📚Flashcards
Practise the cards
13 cards from this deck
ShowHide
Practise the cards
13 cards from this deck
Library (definition)
Library (definition)
Collection of precompiled code for common tasks
Static library
Static library
Library included directly in executable at compilation
Dynamic library (shared library)
Dynamic library (shared library)
Library linked at runtime as separate file
Benefit of libraries: efficiency
Benefit of libraries: efficiency
Allows reuse of pre-written code, speeds up development
Benefit of libraries: reliability
Benefit of libraries: reliability
Library code is often tested & optimised, reducing bugs
Drawback: dependency management
Drawback: dependency management
Dynamic library programs may fail if library missing or incompatible
Linker (definition)
Linker (definition)
Tool combining code & data files into single executable
Static linking
Static linking
Includes all library functions in executable at compile time
Dynamic linking
Dynamic linking
Includes only references to libraries, links at runtime
What linker searches for in code
What linker searches for in code
Symbols (functions/variables) to ensure they're defined
Loader (definition)
Loader (definition)
OS part loading executable into memory & starting execution
Loader's role with dynamic libraries
Loader's role with dynamic libraries
Finds & links necessary libraries when program runs
Error when linker can't find symbol
Error when linker can't find symbol
Unresolved symbol error, prevents successful compilation
