将C++程序转换为 C#
Converting a C++ program into C#
我正在做一个手动将C++代码转换为 C# 的项目。我有 C# 的工作知识,但我以前从未使用过C++。
我需要知道的是如何处理头文件,因为 C# 没有类似的东西。假设我有buffer.h和buffer.cpp,我会将它们都转换并将它们包含在同一个buffer.cs文件中吗?
C++头文件是否与 Ada 规范文件有任何关系?
包括".h文件"和源".cpp文件"之间的区别只是惯例之一。 约定是声明(函数、类等)位于 .h 文件中,这些文件在实现(定义)或.cpp文件中#include
d。 在大多数情况下,您可以将 X.h 和 X.cpp 折叠为单个 X.cs 文件。
也就是说,您仍然需要查看每个文件中发生了什么。 对C++的基本了解在这里大有帮助,我强烈建议您在深入翻译之前获得一些东西。
将
C++头文件视为包含两种主要类型的东西可能会有所帮助:类定义,它定义其成员数据和"接口"(不要与 C# 接口类型混淆)和"其他东西"。 类定义部分包含方法原型和类成员变量。
关于原型的好消息是,在 C# 中根本不需要它们。 类的客户端通过命名空间的程序集从实现本身接收原型信息。 数据成员包含在 C# 类实现中,通常作为通过 C# 属性公开的私有成员。
上面提到的"其他内容"可以包括 #defines,您通常希望将其转换为 C# 中的 const 定义。 其他内容(如枚举)在 C# 中具有等效项,当然,您可以将这些等效项移动到类的.cs文件中。
相关文章:
- C++实用程序::转换在静态链接库中不起作用
- 如何将我的小程序转换为用于项目的函数?
- 将通用Windows应用程序转换为VisualStudio 2019上的常规应用程序
- 如何将我的程序转换为.dll文件并使用rundll32.exe在cmd中运行它?
- 将 C 程序转换为具有大量字符* 和无符号字符转换错误的C++
- 将视觉C 媒体基础捕获应用程序转换为C 构建器
- Qt 创建器中的实用程序::转换::to_string_t中的链接错误
- 将Parralel CUDA程序转换为顺序运行
- Pthreads - 将顺序程序转换为并行程序
- 尝试将工作python程序转换为C++但不起作用
- 将带有 std::cout C++程序转换为 NCurses / CDK
- 面向对象设计-将C应用程序转换为C++
- 将带有迭代器的C++程序转换为 Boost MPI 并行程序
- 可视化如何将项目 win32 控制台应用程序转换为C++ Windows 窗体
- 如何使用 openMP 将顺序程序转换为并行程序
- 将C++程序转换为使用 GMP
- 如何将 C 程序转换为类
- 将命令行参数程序转换为菜单驱动程序
- 将C++程序转换为 C#
- 必须执行哪些操作才能将程序转换为强大的 OpenMP 感知版本