~/talk

C++20 Modules - Review of the Current State of C++ Modules 2024

Talkat C++ on Sea 2024 · 2024-07-02..07-05· [software-architecture]
links:none on file
slides:none on file

C++20 modules work but are still rough in practice: CMake 3.28 adds CMake 3.28 dependency scanning and Ninja 1.10 supports on‑the‑fly reorder so compilers can produce BMIs before imports, but packing prebuilt BMIs fails often—Clang/GCC treat BMIs as cache and MSVC is more forgiving—so consumers must usually generate BMIs on consumer side. Examples with fmt and Vulkan show visibility, compiler‑flag and path issues and that bundled BMI incompatible across compilers is the common pitfall.

AI-written summary · about

  1. 0:00C++20 modules overview
  2. 4:45Build times and isolation
  3. 7:32Compiler flags and resolution
  4. 10:48Build order and dependencies
  5. 15:32Dependency scanning changes
  6. 21:31Packaging with CMake
  7. 25:01BMI bundling issues
  8. 34:14MSVC BMI reuse limits
  9. 37:48Module-only libraries
  10. 43:11Header-only to modules
  11. 48:51Module packaging best practices
  12. 53:33Flag consistency and BMI
  13. 55:00Common errors and limits
  14. 58:10Current state and future
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.