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 архитектур. Особенно это актуально для курсов по системному программированию, робототехнике и разработке драйверов.
Рекомендуем библотеки
Другие новости
JavaScript (Node.js) покоряет сердца разработчиков: итоги опроса Stack Overflow 2024
Успех стартапа на Kotlin: история революционного сервиса доставки
JavaScript (Node.js) возглавил рейтинг любимых языков StackOverflow