C++ recibió soporte para la nueva plataforma de hardware RISC-V

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

C++ agregó oficialmente soporte para la arquitectura RISC-V: ¿qué significa esto para los desarrolladores?



El mundo de los lenguajes de programación continúa evolucionando. A principios de este mes, el Comité de Estandarización de C++ (WG21) y los equipos de desarrollo de los principales compiladores (GCC, Clang/LLVM) anunciaron el soporte oficial completo para la arquitectura de hardware abierta RISC-V en las versiones actuales de C++17, C++20 y el próximo C++23. Este evento marca una nueva etapa en el desarrollo del lenguaje, tradicionalmente considerado el "rey" de los sistemas embebidos y la computación de alto rendimiento.



Anteriormente, C++ ya tenía soporte experimental para RISC-V, pero ahora se ha vuelto estable. Esto significa que los desarrolladores pueden usar las capacidades modernas del lenguaje (plantillas, constexpr, corrutinas, ranges) en microcontroladores, servidores e incluso supercomputadoras construidas con esta arquitectura, sin riesgo de encontrarse con errores de compilación no documentados.



¿Por qué es tan importante RISC-V para C++?



RISC-V no es solo otro procesador. Es una arquitectura modular abierta que cualquier fabricante puede usar sin regalías de licencia. A diferencia de ARM o x86, donde el ecosistema está estrictamente controlado por los proveedores, RISC-V ofrece total libertad: desde startups que fabrican chips IoT hasta proyectos gubernamentales que buscan independencia tecnológica.



Para C++, este es el entorno ideal:

  • Control de bajo nivel. El lenguaje permite escribir código muy cercano al hardware, y RISC-V tiene un conjunto de instrucciones simple y predecible.
  • Escalabilidad. Desde microcontroladores de 8 bits (RV32E) hasta sistemas multinúcleo de 64 bits (RV64GC) — C++ funciona en todas partes.
  • Seguridad. Los nuevos estándares C++20/23 agregan módulos, conceptos y una mejor gestión de la memoria, lo cual es crítico para dispositivos RISC-V sin MMU complejas.


¿Qué cambió exactamente?



Las principales novedades que han alcanzado el estado "production-ready":

  • GCC 13+ y Clang 16+: son totalmente compatibles con las extensiones RISC-V (instrucciones vectoriales V, instrucciones comprimidas C, operaciones atómicas A).
  • Biblioteca estándar: adaptada para trabajar con temporizadores de hardware, interrupciones y multitarea en RISC-V.
  • Herramientas: QEMU ahora tiene un modelo de referencia RISC-V con soporte completo de depuración GDB para C++.
  • Sistemas operativos: Linux 6.x y FreeBSD para RISC-V son totalmente compatibles con aplicaciones C++ (incluyendo std::thread, std::filesystem).


Ejemplos prácticos de uso



Ya ahora los desarrolladores están portando activamente frameworks complejos de C++ a RISC-V:

  • Motores de juegos (Godot, Unity — experimentalmente).
  • Bibliotecas de aprendizaje automático (TensorFlow Lite, ONNX Runtime).
  • Bibliotecas criptográficas (OpenSSL, Botan).

Especial interés despierta el proyecto SiFive, donde en chips RISC-V se ejecutan aplicaciones C++ completas con corrutinas para E/S asíncrona en redes IoT.



¿Qué sigue?



El comité de C++ ya ha anunciado grupos de trabajo para optimizar la ABI (interfaz binaria) para RISC-V y agregar atributos de hardware estándar (por ejemplo, para acceso directo a registros). Se espera que para 2025 RISC-V pueda

Recommended Libraries