C++ ahora es compatible oficialmente con una nueva plataforma: qué ha cambiado

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++ amplía horizontes: soporte oficial de una nueva plataforma

La comunidad de desarrolladores de C++ ha recibido una actualización importante: el comité internacional de estandarización ISO C++ y los principales proveedores de compiladores (GCC, Clang, MSVC) han anunciado el soporte oficial completo de una nueva plataforma hardware-software. Se trata de la plataforma RISC-V — una arquitectura de conjunto de instrucciones (ISA) abierta que está ganando popularidad rápidamente en sistemas embebidos, dispositivos IoT e incluso soluciones para servidores.

Anteriormente, el soporte de RISC-V en C++ existía en modo experimental, pero ahora está incluido en las versiones principales de los compiladores y está oficialmente documentado en el estándar C++23. Esto significa que los desarrolladores pueden escribir código en C++ para RISC-V sin necesidad de usar parches de terceros ni versiones beta de las herramientas.

¿Qué significa esto para los desarrolladores?

  • Biblioteca estándar completa: Ahora todos los contenedores, algoritmos y flujos de entrada/salida de la STL funcionan en RISC-V de forma nativa, sin emulación.
  • Optimización para la arquitectura: Los compiladores han recibido nuevas banderas de optimización que tienen en cuenta las características del pipeline de RISC-V (por ejemplo, soporte para extensiones de instrucciones vectoriales).
  • Seguridad de memoria: Se ha implementado soporte para mecanismos de protección como CFI (Control Flow Integrity) y Shadow Stacks para RISC-V.
  • Ecosistema listo: Integración con sistemas de compilación populares (CMake, Meson) y gestores de paquetes (vcpkg, Conan) para RISC-V.

Ejemplos prácticos de uso

El nuevo soporte abre el camino para proyectos que antes requerían un complejo proceso de portabilidad. Aquí hay algunos escenarios:

  • Desarrollo de sistemas embebidos basados en microcontroladores RISC-V (por ejemplo, SiFive o ESP32-C3) usando C++20/23.
  • Creación de dispositivos edge de alto rendimiento con aprendizaje automático en C++ para RISC-V.
  • Portabilidad de aplicaciones multiplataforma existentes (juegos, editores gráficos) a dispositivos con RISC-V.

Detalles técnicos para desarrolladores

Para empezar a trabajar con C++ en RISC-V, basta con instalar la versión actual del compilador:

  • GCC 13+ — añadió soporte completo para el estándar C++23 en RISC-V (anteriormente solo tenía C++17).
  • Clang 16+ — incluyó soporte para RISC-V en libc++ y mejoró la generación de código para extensiones vectoriales.
  • MSVC — por ahora solo soporta RISC-V a través de compilación cruzada (a partir de Visual Studio 2022 17.8).

Ejemplo básico de compilación de un programa:

// hello.cpp
#include <iostream>
int main() {
    std::cout << "Hello RISC-V from C++!" << std::endl;
    return 0;
}
// Compilación: riscv64-unknown-linux-gnu-g++ -std=c++23 hello.cpp -o hello

Impacto en el ecosistema de C++

El soporte de RISC-V no es solo un backend más para el compilador. Es un paso hacia la diversificación de las plataformas hardware, reduciendo la dependencia de x86 y ARM. Para proyectos educativos, como PythonLib, esto significa que ahora se puede aprender C++ en el contexto de arquitecturas modernas de código abierto. Esto es especialmente relevante para cursos de programación de sistemas, robótica y desarrollo de controladores.

Recommended Libraries