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 查询语法、表达式主体成员、字符串插值、空值传播 (?. 和 ?[]) 以及自动属性初始化。
  • 最新新增功能:支持最新的语言增强功能,如文件范围命名空间、函数指针和 C# 12 集合表达式。

有关这些现代构造如何映射到 C++ 的详细技术说明,请参阅新功能文档。

集成

升级您的转换管道旨在简单直接。新一代转换器可作为您现有工作流的直接替代品。它接受相同的命令行参数,读取相同的配置文件,并尊重您已经熟悉的相同代码属性。

由于新引擎要求 C# 项目在语义上正确,您现在可以利用 Roslyn 编译器的全部功能来确保您的代码被高精度地转换。无论您是将其集成到现有的 CI/CD 管道中还是在本地进行测试,迁移路径都是平滑且有详细文档记录的。

如果您的 C# 项目以前对于我们的转换器来说过于现代,那么现在是再次尝试的最佳时机。

有关转换项目和构建环境的详细说明,请参阅迁移指南。

文档与下载

我们发布了一个全面的文档门户,帮助您设置新转换器、了解其功能并将其集成到您的构建脚本中。

相关新闻

相关视频

相关文章