What Is Dynamic Linking?
Dynamic linking leaves library references unresolved in the executable and binds them at load or runtime to shared libraries present on the target system. The binary stays small and many programs share a single copy of a library in memory. It requires the right library versions to be installed where the program runs.
Why it matters
Dynamic linking keeps binaries small and lets a security fix to a shared library benefit every program using it without rebuilding them. The cost is deployment fragility: a missing or mismatched shared library, the classic dependency-hell problem, stops the program from running.
Related concepts
- Opposite of static linking
- Library updates apply without rebuilding the program
- Missing or mismatched libraries break runtime
Related guides
What Is Static Linking?Static linking bundles a program's library dependencies directly into the executable at build time, producing…
What Is a Distroless Image?A distroless image contains only your application and its runtime dependencies, with no shell, package manage…
What Is a Transitive Dependency?A transitive dependency is one you do not require directly but pull in indirectly because a dependency of you…