将C代码移植到C#

本文关键字:代码 | 更新日期: 2023-09-27 18:00:45

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

当我浏览代码时,我发现了这样的东西:

static xdata x y;

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

感谢大家和这个美好的社区。

将C代码移植到C#

只需删除它。xdata只是编译器存储变量的提示。如果删除它,C#编译器将自己解决它。

考虑将C代码移植到.NET C++dll而不是C#。这样可以最大限度地减少移植问题。xdata关键字可以通过一个空宏有效地删除。

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

#define xdata

C#GUI项目可以很容易地引用.NET C++dll。

您的问题遗漏了很多细节。当我看到"我必须将用c编写的固件部分移植到用c#编写的gui软件中"时,我会认为被移植的"部分"与硬件无关。然而,也许情况并非如此,您正在使用类似于.NET Micro Framework的东西。你是要在某种形式的嵌入式CLR上运行C#代码,还是严格意义上要在PC上运行?如果它只是在一个完整的Windows.NET平台上运行。如果是后者,那么您可以忽略xdata限定符,因为C#没有类似的限定符。