将C代码移植到C#

时间:2011-06-29 14:46:26

标签: c# c embedded

作为我工作的一部分,我必须将用c编写的固件部分移植到用c#编写的gui软件中。所以,我必须将c代码转换为c#。我可以原样使用c代码并从gui调用它,但是这里的人决定移植而不是使用c文件。

当我通过代码时,我发现了类似的内容:

static xdata x y;
然后经过一些研究发现xdata说芯片将这个变量存储在外部存储器中。现在的问题是如何在c#中编写该行。

感谢大家和这个精彩的社区。

3 个答案:

答案 0 :(得分:3)

删除它。 xdata只是编译器的一个提示,用于存储变量的位置。如果删除它,C#编译器就会自行解决它。

答案 1 :(得分:2)

考虑将C代码移植到.NET C ++ DLL而不是C#。这应该最小化您的移植问题。可以通过空宏有效删除xdata关键字。

在C ++项目的头文件中使用以下内容:

#define xdata

C#GUI项目可以轻松引用.NET C ++ DLL。

答案 2 :(得分:2)

你的问题遗漏了很多细节。当我看到“我必须将用c语言编写的固件部分移植到用c#编写的gui软件中”时,我会假设移植的“部件”与硬件无关。但是,可能情况并非如此,您使用的是.NET Micro Framework。您是要在某种形式的嵌入式CLR上运行C#代码,还是严格要在PC上运行?如果它只是在完整的Windows .NET平台上运行。如果是后者那么你可以忽略xdata限定符,因为C#没有模拟它。