25 octobre 2026

Sortie de la nouvelle génération de CodePorting.Translator Cs2Cpp

Nous annonçons la sortie d'une mise à jour architecturale majeure pour CodePorting.Translator Cs2Cpp. Le traducteur de nouvelle génération a été entièrement réécrit pour utiliser Roslyn, remplaçant ainsi l'ancienne bibliothèque NRefactory utilisée dans les versions précédentes. Cette transition résout une limitation architecturale importante de l'ancienne version, qui était restreinte à C# 5. En tirant parti de Roslyn, le nouveau traducteur prend en charge nativement les fonctionnalités modernes du langage — actuellement jusqu'à C# 13 — et est prêt à supporter les futures versions de C# au fur et à mesure de l'évolution du langage.

Si vous avez déjà rencontré des limites lors du portage de bases de code C# modernes vers C++, cette version supprime ces obstacles et ouvre de nouvelles perspectives pour vos projets.

Prise en charge étendue du langage

La transition vers l'analyse sémantique de Roslyn a débloqué la prise en charge d'un large éventail de fonctionnalités puissantes qui n'étaient pas supportées auparavant. Le nouveau traducteur gère de manière fluide des modèles modernes complexes, notamment :

  • Flux de travail asynchrones et itérateurs : Prise en charge complète de async/await (traduit en machines à états encapsulées dans des modèles Task) et de l'opérateur yield.
  • Records et constructeurs primaires : Traduction complète des records de référence et de structure, du mot-clé with et des constructeurs primaires.
  • Filtrage par motif avancé : Prise en charge des expressions switch, des motifs de propriété et positionnels, ainsi que des motifs de liste C# 11.
  • Structures de données modernes : Traduction des Value Tuples, Span<T>, Memory<T> et stackalloc.
  • Sucre syntaxique : Syntaxe de requête LINQ, membres avec corps d'expression, interpolation de chaînes, propagation de null (?. et ?[]) et initialisation automatique des propriétés.
  • Derniers ajouts : Prise en charge des améliorations récentes du langage telles que les espaces de noms à portée de fichier, les pointeurs de fonction et les expressions de collection C# 12.

Pour une ventilation technique détaillée de la façon dont ces constructions modernes sont mappées en C++, veuillez consulter la documentation des nouvelles fonctionnalités.

Intégration

La mise à niveau de votre pipeline de traduction est conçue pour être simple. Le traducteur de nouvelle génération agit comme un remplacement direct de vos flux de travail existants. Il accepte les mêmes arguments de ligne de commande, lit les mêmes fichiers de configuration et respecte les mêmes attributs de code que vous connaissez déjà.

Étant donné que le nouveau moteur exige que les projets C# soient sémantiquement corrects, vous pouvez désormais tirer pleinement parti de la puissance du compilateur Roslyn pour garantir une traduction de haute précision de votre code. Que vous l'intégriez dans un pipeline CI/CD existant ou que vous le testiez localement, le processus de migration est fluide et bien documenté.

Pour des instructions détaillées sur la transition de vos projets et environnements de build, veuillez consulter le Guide de migration.

Documentation et téléchargements

Nous avons publié un portail de documentation complet pour vous aider à configurer le nouveau traducteur, comprendre ses capacités et l'intégrer à vos scripts de build.

Nouvelles connexes

Vidéos associées

Articles liés