История изменений
Исправление fsb4000, (текущая версия) :
- Нет. Будет лишь два модуля.
std
и
std.compat
std
будет иметь всё что будет в namespace std
, включая Сишные обёртки std::malloc
, std::free
std.compat
будет иметь всё что в std
и все остальные функции которые в глобальном namespace: malloc
, free
и так далее.
Вначале хотели делать более гранулированно, но потом посмотрели что даже с одним модулем всё гораздо быстрее в сравнении с одним #include <iostream>
.
Но так как именованные модули не содержат макросы, то #include
ещё будет нужен для #include <cassert>
или #include <version>
Но имена модулей std.*
являются зарезервированными. Так что в будущем могут быть ещё модули кроме std.compat
https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2465r2.pdf
- В папке проекта, глобального кеша нет, по крайней мере в
msbuild
так. (для стандартной библиотеки, наверное, компилятор будет использовать уже собранный модуль)
Исходная версия fsb4000, :
- Нет. Будет лишь два модуля.
std
и
std.compat
std
будет иметь всё что будет в namespace std
, включая Сишные обёртки std::malloc
, std::free
std.compat
будет иметь всё что в std
и все остальные функции которые в глобальном namespace: malloc
, free
и так далее.
Вначале хотели делать более гранулированно, но потом посмотрели что даже с одним модулем всё гораздо быстрее в сравнении с одним #include <iostream>
.
Но так как именованные модули не содержат макросы, то #include
ещё будет нужен для #include <cassert>
или #include <version>
https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2465r2.pdf
- В папке проекта, глобального кеша нет, по крайней мере в
msbuild
так. (для стандартной библиотеки, наверное, компилятор будет использовать уже собранный модуль)