Large Scale C++ with Modules: What You Should Know
summary
Shows that replacing headers with modules cuts a tiny client translation unit to 176 bytes vs 500KB+ by importing compiled interfaces, not copying headers. Describes a working Visual C++ prototype that emits object code plus IFC metadata files, a compilation flow using /module and /module:interface switches, and rules: includes first, imports next, then module declaration. Modules give isolation from macros, stronger ODR ownership, and faster incremental and cloud builds.
AI-written summary · about
chapters (12)
- 0:00Introduction to C++ modules
- 5:51Problems with header files
- 12:10Module implementation timeline
- 17:30One Definition Rule challenges
- 18:56What is a module?
- 23:55Module usage guidelines
- 31:03Module ownership and linkage
- 37:49Compiling with modules
- 44:20Transitioning from headers
- 49:01Developer feedback on modules
- 53:02Visibility and private members
- 55:15Future directions and Q&A
related talks
01h 04mProgramming with C++ Modules: Guide for the Working
01h 30mC++ Modules and Large-Scale Development
01h 30mC++ Modules and Large-Scale Development
59mC++ Modules and Large-Scale Development
58mWhy Modules?: It's not about build time
36mC++ Modules: Year 2021
32mVisibility, Reachability, Linkage – The Three Secret Spices of C++ Modules
01h 04mBuilding Modules
