在 C++ DLL 和 C# 之间来回传递变量 class

passing forth and back variables between c++ DLL and C# class

请参阅this page for more details

我已经按照 MSDN 中的说明实现了 c++ DLL 示例。该示例允许设计一个 DLL,它公开 2 个双精度值之间的 4 个基本算术运算。并说明如何在 C++ 控制台应用程序中使用此 dll。

我的问题是,是否可以在 C# 控制台应用程序中使用此 DLL?如果是这样,我该怎么做?我的意思是从 C# 控制台应用程序发送 2 个值到 C++ DLL 并取回它们的算术结果。

对于希望同时使用 c# 和 c++ 的程序员来说,学习这样的东西非常有趣我想,我就是其中之一,因此对于我和未来的人来说,请提供一个基于 MSDN 示例的演示,如果可能

看看here。在 User32.dll 中调用 MessageBox 所需要做的就是这个(来自那里的示例):

[DllImport("User32.dll", CharSet=CharSet.Unicode)] 
public static extern int MessageBox(IntPtr h, string m, string c, int type);

然后您可以像调用常规 C# 方法一样调用它。如果您有更复杂的类型,例如 类,请阅读 this MSDN article