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

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

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

Начать курс

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

Сообщество разработчиков C++ получило важное обновление: международный комитет по стандартизации ISO C++ и ведущие поставщики компиляторов (GCC, Clang, MSVC) объявили о полной официальной поддержке новой аппаратно-программной платформы. Речь идёт о платформе RISC-V — открытой архитектуре набора команд (ISA), которая стремительно набирает популярность в embedded-системах, IoT-устройствах и даже серверных решениях.

Ранее поддержка RISC-V в C++ существовала в экспериментальном режиме, но теперь она включена в основные релизы компиляторов и официально задокументирована в стандарте C++23. Это означает, что разработчики могут писать код на C++ для RISC-V без использования сторонних патчей и бета-версий инструментов.

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

  • Полноценная стандартная библиотека: Теперь все контейнеры, алгоритмы и потоки ввода-вывода из STL работают на RISC-V нативно, без эмуляции.
  • Оптимизация под архитектуру: Компиляторы получили новые флаги оптимизации, учитывающие особенности конвейера RISC-V (например, поддержка расширений векторных инструкций).
  • Безопасность памяти: Реализована поддержка механизмов защиты, таких как CFI (Control Flow Integrity) и Shadow Stacks для RISC-V.
  • Готовая экосистема: Интеграция с популярными сборочными системами (CMake, Meson) и пакетными менеджерами (vcpkg, Conan) для RISC-V.

Практические примеры использования

Новая поддержка открывает дорогу для проектов, которые раньше требовали сложного портирования. Вот несколько сценариев:

  • Разработка встраиваемых систем на базе микроконтроллеров RISC-V (например, SiFive или ESP32-C3) с использованием C++20/23.
  • Создание высокопроизводительных edge-устройств с машинным обучением на C++ под RISC-V.
  • Портирование существующих кроссплатформенных приложений (игр, графических редакторов) на устройства с RISC-V.

Технические детали для разработчиков

Для начала работы с C++ на RISC-V достаточно установить актуальную версию компилятора:

  • GCC 13+ — добавил полную поддержку стандарта C++23 для RISC-V (ранее была только C++17).
  • Clang 16+ — включил поддержку RISC-V в libc++ и улучшил генерацию кода для векторных расширений.
  • MSVC — пока поддерживает RISC-V только через кросс-компиляцию (начиная с Visual Studio 2022 17.8).

Базовый пример сборки программы:

// hello.cpp
#include <iostream>
int main() {
    std::cout << "Hello RISC-V from C++!" << std::endl;
    return 0;
}
// Компиляция: riscv64-unknown-linux-gnu-g++ -std=c++23 hello.cpp -o hello

Влияние на экосистему C++

Поддержка RISC-V — это не просто очередной бэкенд компилятора. Это шаг к диверсификации аппаратных платформ, снижению зависимости от x86 и ARM. Для образовательных проектов, таких как PythonLib, это означает, что изучать C++ теперь можно в контексте современных open-source архитектур. Особенно это актуально для курсов по системному программированию, робототехнике и разработке драйверов.

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