将C ++程序转换为C#

时间:2012-05-04 13:45:37

标签: c# c++

我正在开发一个项目,我正在手动将C ++代码转换为C#。我有C#的工作知识,但我以前从未使用过C ++。

我需要知道的是如何处理头文件,因为C#没有这样的东西。假设我有buffer.h和buffer.cpp,我只是将它们转换并将它们包含在同一个buffer.cs文件中吗?

C ++头文件是否与Ada spec文件有关?

3 个答案:

答案 0 :(得分:6)

包含" .h文件"之间的区别和来源" .cpp文件"只是常规之一。惯例是声明(函数,类等)在.h文件中,在实现(定义)或.cpp文件中是#include d。对于大多数情况,您可以将X.h和X.cpp折叠为单个X.cs文件。

那就是说,你仍然需要看看每个文件中发生了什么。对C ++的基本理解在这里会有很长的路要走,我强烈建议你在进入翻译之前先获得一些东西。

答案 1 :(得分:1)

答案 2 :(得分:1)

它可能会帮助您将C ++头文件视为包含两种主要类型的东西:类定义,定义其成员数据和“接口”(不要与C#接口类型混淆)和“其他东西” ”。类定义部分包含方法原型和类成员变量。

关于原型的好消息是你在C#中根本不需要它们。您的类的客户端通过命名空间的程序集从实现本身接收原型信息。数据成员包含在C#类实现中,通常作为通过C#属性公开的私有成员。

上面提到的“其他东西”可以包括#defines,你通常想把它变成C#中的const定义。枚举等其他内容在C#中具有等价物,您当然会将其移入您班级的.cs文件中。