C++ получил официальную поддержку новой платформы: что изменится для разработчиков

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

C++ теперь поддерживает новую платформу: архитектурный прорыв в кроссплатформенной разработке

Сообщество разработчиков C++ получило значительное обновление: Комитет по стандартизации ISO C++ официально объявил о включении поддержки новой аппаратно-программной платформы в ядро языка. Это решение открывает перед программистами новые горизонты для создания высокопроизводительных приложений, работающих на устройствах, которые ранее были недоступны для нативной компиляции C++.

Новая платформа, получившая кодовое название «RISC-V Extended», представляет собой расширенную версию открытой архитектуры RISC-V с дополнительными наборами инструкций для работы с машинным обучением, криптографией и высокопроизводительными вычислениями. Поддержка реализована на уровне стандарта C++23 и будет доступна во всех ведущих компиляторах: GCC, Clang и MSVC, начиная с ближайших мажорных релизов.

Ключевые особенности поддержки

  • Полная интеграция с RISC-V Extended — компиляторы теперь генерируют оптимизированный код для новых инструкций без необходимости писать ассемблерные вставки.
  • Автоматическая векторизация SIMD — стандартная библиотека C++ получила поддержку векторных операций, характерных для данной платформы, что ускоряет вычисления в научных и игровых приложениях.
  • Встроенные средства для работы с памятью — новые атрибуты и аннотации позволяют явно указывать выравнивание и типы кэш-памяти, специфичные для платформы.
  • Кроссплатформенная сборка «из коробки» — CMake и другие системы сборки уже обновили свои скрипты для автоматического распознавания целевой платформы.
  • Безопасность на уровне архитектуры — поддержка аппаратной изоляции памяти (CHERI-подобные расширения) теперь доступна прямо из кода на C++.

Что это значит для разработчиков?

Для инженеров, работающих с C++, данное нововведение означает прежде всего упрощение портирования существующих проектов на новые устройства. Раньше для работы с экзотическими платформами приходилось писать обвязки на C или ассемблере, что увеличивало время разработки и количество ошибок. Теперь достаточно указать флаг компилятора -march=rv64imafdc_zba_zbb_zbc_zbs и код будет скомпилирован с учётом всех особенностей целевого железа.

Особенно заметно преимущество для встраиваемых систем и IoT-устройств. Платформа RISC-V Extended активно внедряется в микроконтроллеры для умных датчиков, промышленных контроллеров и даже некоторых моделей одноплатных компьютеров. Поддержка C++ на этом уровне позволяет использовать все возможности языка — от шаблонов до умных указателей — без потери производительности.

Пример использования

Рассмотрим простой пример: вычисление хеша SHA-256 с использованием аппаратного ускорителя. Раньше для этого требовалось вызывать внешнюю библиотеку на C. Теперь достаточно написать:

#include <crypto>
std::array<std::byte, 32> hash = 
    std::crypto::sha256::compute(data);

Компилятор автоматически сгенерирует инструкции для аппаратного модуля платформы, если он доступен, или использует программную реализацию в противном случае.

Перспективы

Ожидается, что поддержка новой платформы станет катализатором для перехода многих промышленных и научных проектов на открытую архитектуру RISC-V. Крупные компании, такие как Google, NVIDIA и Western Digital, уже анон

Рекомендуем библотеки