博客

新一代 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# 项目以前对于我们的转换器来说过于现代,那么现在是再次尝试的最佳时机。 有关转换项目和构建环境的详细说明,请参阅迁移指南。 文档与下载 我们发布了一个全面的文档门户,帮助您设置新转换器、了解其功能并将其集成到您的构建脚本中。 文档门户: CodePorting.Translator Docs 下载最新版本: CodePorting.Translator Cs2Cpp 新一代入门指南: Next-Gen 转换器概览
link

25 十月 2026

CodePorting.Translator Cs2Cpp Framework 的 API 参考部分现已推出

该网站现在包括 CodePorting.Translator Cs2Cpp Framework 的全面 API 参考。此文档提供了所有命名空间、类及其功能的详细说明,以帮助有效利用此 C++ 库,这是从 C# 翻译到 C++ 项目所必需的。 CodePorting.Translator Cs2Cpp Framework 包含 .NET Framework 类型和方法的 C++ 实现,使翻译的 C# 项目能够无缝集成和功能。新的 API 参考部分旨在帮助您更有效地理解和利用该框架。它包括每个功能的详细解释,以及示例和详细说明。 我们希望此资源能在您的项目中为您提供帮助,并增强您对 CodePorting.Translator Cs2Cpp Framework 的体验。有关更多详细信息,请访问我们网站上的 API 参考 部分。
link

25 十月 2024

新文章部分现已上线

我们很高兴宣布我们网站上专门为文章设立的新部分的启动。该部分将详细讨论我们将C#项目转换为C++、Java和Python的经验。 我们的文章将涵盖代码翻译的各个方面,包括我们遇到的挑战和解决方案。我们还将提供有关我们翻译工具开发的见解,例如CodePorting.Translator Cs2Cpp、CodePorting.Translator Cs2Java以及我们为Python环境创建C#包装器的工具CodePorting.Wrapper Cs2Python。 在这些文章中,我们将讨论代码转换过程中遇到的常见问题,以及翻译后的代码如何在保持其原始功能的同时在新的编程环境中有效运行。 我们希望您发现我们的文章信息丰富且有用。您可以在此处查看新部分:文章。
link

02 二月 2024