Part 9
Building real software
Everything between a single file that compiles and a project other people can build, depend on, and change.
-
9.1
Headers, translation units, and linking
Why the same code compiles once but links twice, and what ODR means.
-
9.2
Modules
The replacement for headers, and where support stands.
-
9.3
Build systems and CMake
Describing a build so that other people can reproduce it.
-
9.4
Dependencies and packaging
Using other people's code without making your build unreproducible.
-
9.5
Project: a small search index
One program that uses most of this book: file I/O, containers, algorithms, ownership, tests, and a benchmark.