C++ MODULES

C++ MODULES的创建修改与应用经验
展开查看详情

1. 2018 中国C++大会 — PURECPP.ORG C++ MODULES HSAE - Wuhan · 张轶 · github.com/mutouyun

2. 2018 中国C++大会 — PURECPP.ORG 2012 2016 2018 N3347 P0142 N4720 P0947/P0986 P1103/P1156/P1180 Modules in C++ (v6) A Module System for C++ Module TS Another take on Modules Merging Modules (v4) (Atom) 2014 2017 N4047 N4637 - N4681 ISO/IEC 14882:2017 A Module System for C++ Working Draft, Extensions Programming languages -- to C++ for Modules C++

3. 2018 中国C++大会 — PURECPP.ORG WHY MODULE

4. 2018 中国C++大会 — PURECPP.ORG HEADERS • 脆弱的文本展开 • 内部细节的意外导出 • 大量的重复处理(N x M) ……

5. 2018 中国C++大会 — PURECPP.ORG HELLO WORLD

6. 2018 中国C++大会 — PURECPP.ORG 头文件展开 <ios> <iostream> <streambuf> <istream> <ostream> main.cpp <iosfwd> ……

7. 2018 中国C++大会 — PURECPP.ORG HELLO WORLD

8. 2018 中国C++大会 — PURECPP.ORG <WINDOWS.H>

9. 2018 中国C++大会 — PURECPP.ORG ODR(ONE DEFINITION RULE) main.cpp: Same? func.cpp:

10. 2018 中国C++大会 — PURECPP.ORG HEADER => MODULE

11. 2018 中国C++大会 — PURECPP.ORG HEADER => MODULE std.io main.cpp

12. 2018 中国C++大会 — PURECPP.ORG WORLD WITH HEADER t.hpp Translation Unit (TU) main.cpp a.h a.cpp TUs b.h b.cpp

13. 2018 中国C++大会 — PURECPP.ORG WORLD WITH HEADER a.h impl_1.h impl_1.cpp main.cpp impl_2.h impl_2.cpp impl_3.h impl_3.cpp

14. 2018 中国C++大会 — PURECPP.ORG WORLD WITH MODULE Binary Module Interface T-bmi t.mpp main.cpp A-bmi a.mpp TUs B-bmi b.mpp

15. 2018 中国C++大会 — PURECPP.ORG WORLD WITH MODULE Module A impl_1.cpp main.cpp A-bmi impl_2.cpp a.mpp impl_3.cpp

16. 2018 中国C++大会 — PURECPP.ORG MODULES • 为编译单元(Translation Unit)提供二进制符号信息 • ODR(One Definition Rule) • 基于依赖关系(Dependency Graph)的构建 • 避免大量的重复解析-编译过程 ……

17. 2018 中国C++大会 — PURECPP.ORG PERFORMANCE TU Increasing 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 1 2 3 4 5 6 7 8 9 10 Header Module

18. 2018 中国C++大会 — PURECPP.ORG PERFORMANCE Headers/Modules x TUs 10 9 8 7 6 5 4 3 2 1 0 2x2 4x4 6x6 8x8 10 x 10 Header Module

19.2018 中国C++大会 — PURECPP.ORG

20. 2018 中国C++大会 — PURECPP.ORG HOW TO USE

21. 2018 中国C++大会 — PURECPP.ORG SAY HELLO main.cpp:

22. 2018 中国C++大会 — PURECPP.ORG SAY HELLO main.cpp:

23. 2018 中国C++大会 — PURECPP.ORG 自定义MODULE module interface unit hello.mpp: main.cpp:

24. 2018 中国C++大会 — PURECPP.ORG 自定义MODULE hello.mpp: main.cpp:

25. 2018 中国C++大会 — PURECPP.ORG 自定义MODULE hello.mpp: main.cpp:

26. 2018 中国C++大会 — PURECPP.ORG MODULE LINKAGE hello.mpp:

27. 2018 中国C++大会 — PURECPP.ORG MODULE LINKAGE hello.mpp:

28. 2018 中国C++大会 — PURECPP.ORG MODULE LINKAGE module implementation unit hello_impl.cpp: main.cpp:

29. 2018 中国C++大会 — PURECPP.ORG MODULE LINKAGE hello.mpp: 修改这里会……?