Header-Only vs Compiled Libraries
Decide between header-only and separately compiled library distributions.
Two Distribution Models
C++ libraries come in two flavors:
- Header-only — implementation in headers; consumer compiles everything
- Compiled — separate source files compiled into a static or shared library
Header-Only Pros
Strengths:
- Trivial to integrate — copy and include
- No build configuration
- Works across compilers and standards
- Compiler can inline aggressively
All lessons in this course
- Header-Only vs Compiled Libraries
- API Versioning and ABI Stability
- Hiding Implementation with PIMPL
- Writing a Modern Header-Only Utility Library