LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

  1. Нет. Будет лишь два модуля.

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

  1. В папке проекта, глобального кеша нет, по крайней мере в msbuild так. (для стандартной библиотеки, наверное, компилятор будет использовать уже собранный модуль)

Исходная версия fsb4000, :

  1. Нет. Будет лишь два модуля.

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

  1. В папке проекта, глобального кеша нет, по крайней мере в msbuild так. (для стандартной библиотеки, наверное, компилятор будет использовать уже собранный модуль)