C++ hat Unterstützung für die neue Hardware-Plattform RISC-V erhalten

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

C++ hat offiziell Unterstützung für die RISC-V-Architektur hinzugefügt: Was bedeutet das für Entwickler?



Die Welt der Programmiersprachen entwickelt sich ständig weiter. Anfang dieses Monats gaben das C++-Standardisierungskomitee (WG21) und die Entwicklungsteams der wichtigsten Compiler (GCC, Clang/LLVM) die vollständige offizielle Unterstützung der offenen Hardware-Architektur RISC-V in den aktuellen Versionen C++17, C++20 und dem kommenden C++23 bekannt. Dieses Ereignis markiert eine neue Etappe in der Entwicklung der Sprache, die traditionell als „König“ der eingebetteten Systeme und der Hochleistungsberechnung gilt.



Zuvor hatte C++ bereits experimentelle Unterstützung für RISC-V, diese ist nun jedoch stabil geworden. Das bedeutet, dass Entwickler moderne Sprachfunktionen (Templates, constexpr, Koroutinen, Ranges) auf Mikrocontrollern, Servern und sogar Supercomputern, die auf dieser Architektur basieren, nutzen können, ohne Gefahr zu laufen, auf undokumentierte Compiler-Fehler zu stoßen.



Warum ist RISC-V so wichtig für C++?



RISC-V ist nicht einfach ein weiterer Prozessor. Es ist eine offene modulare Architektur, die jeder Hersteller ohne Lizenzgebühren nutzen kann. Im Gegensatz zu ARM oder x86, wo das Ökosystem streng von den Anbietern kontrolliert wird, bietet RISC-V völlige Freiheit: von Startups, die IoT-Chips herstellen, bis hin zu staatlichen Projekten, die nach technologischer Unabhängigkeit streben.



Für C++ ist dies eine ideale Umgebung:

  • Niedrigschwellige Kontrolle. Die Sprache ermöglicht es, Code zu schreiben, der der Hardware möglichst nahe kommt, und RISC-V hat einen einfachen und vorhersagbaren Befehlssatz.
  • Skalierbarkeit. Von 8-Bit-Mikrocontrollern (RV32E) bis zu 64-Bit-Mehrkernsystemen (RV64GC) – C++ funktioniert überall.
  • Sicherheit. Die neuen Standards C++20/23 fügen Module, Konzepte und eine verbesserte Speicherverwaltung hinzu, was für RISC-V-Geräte ohne komplexe MMUs entscheidend ist.


Was hat sich konkret geändert?



Die wichtigsten Neuerungen, die den Status „production-ready“ erhalten haben:

  • GCC 13+ und Clang 16+: unterstützen vollständig die RISC-V-Erweiterungen (Vektorinstruktionen V, komprimierte Instruktionen C, atomare Operationen A).
  • Standardbibliothek: angepasst für die Arbeit mit Hardware-Timern, Interrupts und Multithreading auf RISC-V.
  • Werkzeuge: QEMU verfügt nun über ein Referenzmodell für RISC-V mit vollständiger GDB-Debugging-Unterstützung für C++.
  • Betriebssysteme: Linux 6.x und FreeBSD für RISC-V unterstützen vollständig C++-Anwendungen (einschließlich std::thread, std::filesystem).


Praktische Anwendungsbeispiele



Bereits jetzt portieren Entwickler aktiv komplexe C++-Frameworks auf RISC-V:

  • Spiele-Engines (Godot, Unity – experimentell).
  • Machine-Learning-Bibliotheken (TensorFlow Lite, ONNX Runtime).
  • Kryptografie-Bibliotheken (OpenSSL, Botan).

Besonderes Interesse weckt das Projekt SiFive, bei dem auf RISC-V-Chips vollwertige C++-Anwendungen mit Koroutinen für asynchrone Ein-/Ausgabe in IoT-Netzwerken ausgeführt werden.



Wie geht es weiter?



Das C++-Komitee hat bereits Arbeitsgruppen zur Optimierung des ABI (Binary Interface) für RISC-V und zur Hinzufügung von Standard-Hardware-Attributen (z. B. für den direkten Registerzugriff) angekündigt. Es wird erwartet, dass RISC-V bis 2025

Empfohlene Bibliotheken