【问题标题】:How can I execute C code inside a .NET application?如何在 .NET 应用程序中执行 C 代码?
【发布时间】:2019-10-21 13:27:12
【问题描述】:

我从事嵌入式软件开发,编写依赖于硬件设备的纯 C 代码。

在我们的硬件设备准备好之前,我需要完成我们嵌入式软件的应用模块,这些应用模块不会直接依赖于硬件。

有什么方法可以让我在 .NET 环境(VC++ 或 C#)中编写和执行 C 代码,有一些用于模拟应用程序的 UI,使用断点和监视进行调试,一旦逻辑得到证明,获取 C 文件并将它们移植到硬件(当然需要修改接口)?

由于我不是 .NET 方面的专家,我不确定这是否可以做到。 如果是,人们使用什么方法?

【问题讨论】:

  • 创建一个 DLL 项目来托管您的 C 代码,在您的 C# 代码中使用 [DllImport]。
  • DLL 是否允许我逐行执行我的 C 代码?我可能想在调试时在我的 C 代码中设置断点。我能做到吗?
  • 是的,这就是“项目”>“属性”>“调试”选项卡的“启用本机代码调试”复选框的作用。请在 Google 上搜索教程,它将为您节省大量的反复试验。查询“c# pinvoke 教程”。
  • 好的,非常感谢,汉斯。我会试一试并在这里更新。

标签: c .net


【解决方案1】:

直接链接 C 和 C++ 代码,只需询问您最喜欢的搜索引擎,或本页顶部的小搜索框。

一定要放

#ifdef __cplusplus
extern "C" {
#endif

和

#ifdef __cplusplus
}
#endif

围绕 C 头文件中的声明。

对于 C#,我没有亲身经历,抱歉。

【讨论】:

  • 问题是关于 c# 而不是 c++。
  • OP 写了“VC++ 或 C#”
猜你喜欢
  • 1970-01-01
  • 2017-04-07
  • 2011-11-26
  • 2017-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
相关资源
最近更新 更多