C++ a obtenu le support officiel d'une nouvelle plateforme : ce qui va changer pour les développeurs

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

C++ prend désormais en charge une nouvelle plateforme : une avancée architecturale dans le développement multiplateforme



La communauté des développeurs C++ a reçu une mise à jour significative : le comité de normalisation ISO C++ a officiellement annoncé l'inclusion du support d'une nouvelle plateforme matérielle et logicielle dans le cœur du langage. Cette décision ouvre de nouveaux horizons aux programmeurs pour créer des applications haute performance fonctionnant sur des appareils qui étaient auparavant inaccessibles à la compilation native du C++.



La nouvelle plateforme, portant le nom de code « RISC-V Extended », est une version étendue de l'architecture ouverte RISC-V avec des ensembles d'instructions supplémentaires pour le machine learning, la cryptographie et le calcul haute performance. Le support est implémenté au niveau du standard C++23 et sera disponible dans tous les compilateurs majeurs : GCC, Clang et MSVC, à partir de leurs prochaines versions majeures.



Caractéristiques clés du support



  • Intégration complète avec RISC-V Extended — les compilateurs génèrent désormais du code optimisé pour les nouvelles instructions sans nécessiter d'écrire des insertions assembleur.
  • Vectorisation SIMD automatique — la bibliothèque standard C++ a reçu le support des opérations vectorielles caractéristiques de cette plateforme, ce qui accélère les calculs dans les applications scientifiques et de jeux.
  • Outils intégrés pour la gestion de la mémoire — de nouveaux attributs et annotations permettent d'indiquer explicitement l'alignement et les types de cache mémoire spécifiques à la plateforme.
  • Compilation multiplateforme « prête à l'emploi » — CMake et d'autres systèmes de build ont déjà mis à jour leurs scripts pour la reconnaissance automatique de la plateforme cible.
  • Sécurité au niveau architectural — le support de l'isolation matérielle de la mémoire (extensions de type CHERI) est désormais accessible directement depuis le code C++.


Qu'est-ce que cela signifie pour les développeurs ?



Pour les ingénieurs travaillant avec C++, cette innovation signifie avant tout une simplification du portage des projets existants vers de nouveaux appareils. Auparavant, pour travailler avec des plateformes exotiques, il fallait écrire des wrappers en C ou en assembleur, ce qui augmentait le temps de développement et le nombre d'erreurs. Désormais, il suffit de spécifier le flag du compilateur -march=rv64imafdc_zba_zbb_zbc_zbs et le code sera compilé en tenant compte de toutes les spécificités du matériel cible.



L'avantage est particulièrement notable pour les systèmes embarqués et les appareils IoT. La plateforme RISC-V Extended est activement déployée dans les microcontrôleurs pour capteurs intelligents, contrôleurs industriels et même certains modèles d'ordinateurs monocartes. Le support de C++ à ce niveau permet d'utiliser toutes les fonctionnalités du langage — des templates aux smart pointers — sans perte de performance.



Exemple d'utilisation



Considérons un exemple simple : le calcul du hachage SHA-256 à l'aide d'un accélérateur matériel. Auparavant, cela nécessitait d'appeler une bibliothèque externe en C. Maintenant, il suffit d'écrire :



#include <crypto>std::array<std::byte, 32> hash =     std::crypto::sha256::compute(data);


Le compilateur générera automatiquement les instructions pour le module matériel de la plateforme, s'il est disponible, ou utilisera une implémentation logicielle dans le cas contraire.



Perspectives



On s'attend à ce que le support de la nouvelle plateforme devienne un catalyseur pour la transition de nombreux projets industriels et scientifiques vers l'architecture ouverte RISC-V. De grandes entreprises comme Google, NVIDIA et Western Digital ont déjà annoncé

Recommended Libraries