25 октября 2026

Релиз CodePorting.Translator Cs2Cpp нового поколения

Мы объявляем о выпуске крупного обновления для CodePorting.Translator Cs2Cpp. Транслятор нового поколения был полностью переписан для использования Roslyn, заменив устаревшую библиотеку NRefactory, применявшуюся в предыдущих версиях. Этот переход устраняет существенное архитектурное ограничение старой версии, которая была ограничена поддержкой C# 5. Благодаря использованию Roslyn новый транслятор нативно поддерживает современные возможности языка — в настоящее время вплоть до C# 13 — и готов к поддержке будущих версий C# по мере развития языка.

Если ранее вы сталкивались с ограничениями при попытке портировать современные кодовые базы C# в C++, этот релиз снимает эти барьеры и открывает новые возможности для ваших проектов.

Расширенная поддержка языка

Переход на семантический анализ Roslyn разблокировал поддержку множества мощных языковых конструкций, которые ранее не поддерживались. Новый транслятор беспрепятственно обрабатывает сложные современные паттерны, включая:

  • Асинхронные рабочие процессы и итераторы: Полная поддержка async/await (транслируется в конечные автоматы, обернутые в шаблоны Task) и оператора yield.
  • Записи (Records) и первичные конструкторы: Полная трансляция записей ссылочных типов и структур, ключевого слова with и первичных конструкторов.
  • Продвинутое сопоставление с образцом: Поддержка switch-выражений, образцов свойств и позиций, а также списочных образцов из C# 11.
  • Современные структуры данных: Трансляция Value Tuples, Span<T>, Memory<T> и stackalloc.
  • Синтаксический сахар: Синтаксис запросов LINQ, члены с телом-выражением, интерполяция строк, операторы проверки на null (?. и ?[]) и инициализация автоматических свойств.
  • Новейшие дополнения: Поддержка недавних улучшений языка, таких как пространства имен уровня файла, указатели на функции и выражения коллекций из C# 12.

Подробный технический разбор того, как эти современные конструкции отображаются в C++, представлен в документации по новым возможностям.

Интеграция

Обновление вашего конвейера трансляции спроектировано максимально простым. Транслятор нового поколения выступает в качестве прямой замены ваших существующих рабочих процессов. Он принимает те же аргументы командной строки, читает те же конфигурационные файлы и учитывает те же атрибуты кода, с которыми вы уже знакомы.

Поскольку новый движок требует семантической корректности проектов C#, вы можете использовать всю мощь компилятора Roslyn для обеспечения высокоточной трансляции вашего кода. Независимо от того, интегрируете ли вы его в существующий CI/CD-конвейер или тестируете локально, процесс миграции проходит гладко и хорошо документирован.

Если ваши проекты на C# ранее были слишком современными для нашего транслятора, сейчас самое время попробовать снова.

Подробные инструкции по переходу ваших проектов и сборочных сред приведены в Руководстве по миграции.

Документация и загрузки

Мы опубликовали комплексный портал документации, который поможет вам настроить новый транслятор, разобраться в его возможностях и интегрировать его в ваши скрипты сборки.

Связанные новости

Связанные видео

Связанные статьи