~/talk

Why Modules?: It's not about build time

Talkat CppNorth 2024 Β· 2024-07-21..07-24Β· [software-architecture]
links:none on file
slides:none on file

Named modules shift C++ from build optimization to fine-grained control visibility by using module interface and implementation units, partitions, and a private fragment to hide internals while exporting only selected declarations. The compiler produces a BMI and mangles the module name into symbols, so ABI changes if an entity moves modules; compiled module interfaces are fragile across compiler flags and versions and can refuse to import. Dependency cycles are forbidden, forward declarations across modules are not allowed, and real examples like libfmt work but require careful build consistency.

AI-written summary Β· about

  1. 0:00Introduction to modules
  2. 1:02Purpose and goals
  3. 2:08The problem with include
  4. 7:59Core benefits of modules
  5. 12:17Module syntax and structure
  6. 18:17Purview, export, and import
  7. 23:36Legacy and private fragments
  8. 26:44Reachability and partitions
  9. 30:24Managing project dependencies
  10. 36:28Advanced module techniques
  11. 39:11ABI and link-time impacts
  12. 45:24Testing strategies
  13. 48:41Q&A and conclusion
~/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.