LINUX.ORG.RU

С++ Standard Library Modules

 


0

1

Появился PR реализующий P2465R3 Standard Library Modules std And std.compat: https://github.com/microsoft/STL/pull/3108

@hobbit @dimgel

Возможно вам будет интересно посмотреть как там сделано, чтобы поддерживались и предыдущие стандарты с хедерами и модули совместно.

★★★★★

Ответ на: комментарий от rupert

Что там интересного? Добавлен _EXPORT_STD в кучу мест и всё.

В прошлых дискуссиях люди часто говорили, что не будут поддерживать модули, так как их проекты должны поддерживать С++17 и ниже тоже.

Теперь можно увидеть, что если они хотят добавить модули, то им не нужно массового переделывать свои библиотеки, а нужно добавить макрос и пометить этим макросом, то что хочется экспортировать из модуля.

#if _HAS_CXX23 && defined(_BUILD_STD_MODULE)
#define _EXPORT_STD export
#else // _HAS_CXX23 && defined(_BUILD_STD_MODULE)
#define _EXPORT_STD
#endif // _HAS_CXX23 && defined(_BUILD_STD_MODULE)

Ещё может быть интересно посмотреть примеры когда использовать extern "C++"

export using тоже возможно не все знают по такую конструкцию.

fsb4000 ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

В clang 15 добавили доку про C++ модули и их использование в clang: https://releases.llvm.org/15.0.0/tools/clang/docs/StandardCPlusPlusModules.html

А модули стандартной библиотеки появятся когда кто-нибудь это реализует.

fsb4000 ★★★★★
() автор топика