Попри те, що з модулями в 💻 усе погано, я досі не втрачаю надію почати їх використовувати у своїх проєктах. Вже навіть #Qbs додав підтримку.
Отож того тижня сів знову пробувати. Мої два основних компілятори — це MSVC і Clang.
Щодо першого я ще памʼятаю часи, коли його назва була синонімом нестандартної поведінки. Проте (хто б міг подумати‽) зараз Microsoft нерідко навіть випереджає Clang за впровадженням нових фічей. Тож нині з підтримкою модулів із C++20 там наче нема проблем.
З другим все більш-менш ясно й так. Правда ж? 🤔 Принаймні я так колись думав, доки не усвідомив, що на macOS стандартним є Apple Clang, і це геть не те саме, що LLVM Clang. Наприклад, чинна 16 версія еплівського кланга модулі не підтримує, а LLVM-на підтримувала. Ну й узагалі шістнадцята хтозна-коли вже була в LLVM. Зараз чи то 18, чи 19.
Неофіційно ж змусити еплівський кланг використовувати модулі насправді теж можна додатковими світчами. Але разом з ними вмикаються ще так звані Clang Modules, через що в мене були якісь конфлікти з однією з 3rd-party. Покрутив я ті модулі, покрутив, нічого не вийшло — плюнув поки.
Так ось щодо сторонніх бібліотек… Писати власні модулі — це звісно колись буде круто, але хотілося б, щоб і бібліотеки нарешті почали додавати їхню підтримку.
І знаєте шо? Вони додають! Є прогрес! І навіть існує сайт, який цей прогрес трекає: https://arewemodulesyet.org/
З нього чітко видно, що з 2431 бібліотеки, які вони моніторять, аж 22 (ДВАДЦЯТЬ ДВІ) вже мають підтримку модулів! Ще трошки піднапружитися — і заживемо.
Post #385
656

- 👍 8
- 😁 6