从c#调用C ++代码

时间:2013-07-12 17:39:24

标签: c# c++ wpf

我在WPF C#(Visual Studio 2008)中实现了一个用c ++编写的数学模型的GUI。我可以在单个VS解决方案中完全访问这两个项目的源代码

我的问题是:

  1. 是否可以从C#调用C ++中的方法?
  2. 如果是,最佳选择是什么?
  3. 我需要在c ++中做什么来“揭露”这个方法?
  4. 我曾试图“添加参考”,但我认为它不会像这样工作。

2 个答案:

答案 0 :(得分:3)

有各种选择。

最简单的选择通常是使用C ++ / CLI为您需要的C ++方法创建一个包装器。然后,您可以在C#项目中添加对C ++ DLL的引用,并正常使用它。

或者,您可以通过C API公开所需的C ++方法,然后使用P / Invoke从C#中调用它们。

答案 1 :(得分:1)

如果您有一个C ++库(.dll),您可以在C#中使用它,如下所示:

[DllImport("filename.dll")]
public static extern void MethodName(ParameterList);

然后,您可以在C#代码中调用MethodName(...)