C# 呼叫C++;来自c的代码# 我在WPF C(Visual Studio 2008)中实现了一个GUI,用于C++编写的数学模型。我可以在单个VS解决方案中完全访问这两个项目的源代码
我的问题是: <> LI>有可能从C++中调用C方法吗?C# 呼叫C++;来自c的代码# 我在WPF C(Visual Studio 2008)中实现了一个GUI,用于C++编写的数学模型。我可以在单个VS解决方案中完全访问这两个项目的源代码,c#,c++,wpf,C#,C++,Wpf,我的问题是: LI>有可能从C++中调用C方法吗? 如果是,最好的选择是什么 在C++中,我需要做什么来“揭露”这个方法? 我尝试过“添加引用”,但我认为它不会像这样工作。有多种选择 最简单的选项是经常使用C++或CLI创建C++方法的包装器。然后,可以在C++项目中添加对C++ DLL的引用,并正常使用。 可选地,可以通过C API公开C++所需的方法,然后使用P/Unjk调用C语言。 < P>有多种选项。 最简单的选项是经常使用C++或CLI创建C++方法的包装器。然后,可以在C++项目中
我尝试过“添加引用”,但我认为它不会像这样工作。有多种选择
最简单的选项是经常使用C++或CLI创建C++方法的包装器。然后,可以在C++项目中添加对C++ DLL的引用,并正常使用。
可选地,可以通过C API公开C++所需的方法,然后使用P/Unjk调用C语言。
< P>有多种选项。最简单的选项是经常使用C++或CLI创建C++方法的包装器。然后,可以在C++项目中添加对C++ DLL的引用,并正常使用。
可选地,可以通过C API公开C++所需的方法,然后使用P/Unjk调用C++中的.< /P> < P>如果你有C++库(.dll),你可以在C中这样使用:
[DllImport("filename.dll")]
public static extern void MethodName(ParameterList);
你可以在C代码中调用<代码>方法名称(…)>代码> < p>如果你有C++库(.dll),你可以在C中这样使用:
[DllImport("filename.dll")]
public static extern void MethodName(ParameterList);
然后您可以在C代码中调用
MethodName(…)
。它被称为互操作。这个词应该对你的谷歌搜索有所帮助。您可以执行C风格的声明互操作或COM对象互操作。这应该让您开始:它被称为互操作。这个词应该对你的谷歌搜索有所帮助。您可以执行C风格的声明互操作或COM对象互操作。这应该让您开始:注意,这要求<代码>方法名<代码>作为C样式方法导出(即:使用<代码>外部代码)在声明中“C/代码>”,因此它的名称不具有C++名称。请注意,将代码> >方法名< /C> >作为C样式方法导出(即:在声明中使用<代码>外部代码)C“”。所以它的名字没有得到C++名字的限制。