繁体   English   中英

创建从C#调用的C ++ DLL

[英]Creating C++ DLL called from C#

我正在尝试查找有关在可以从C#调用的DLL中创建C ++类的教程。 我找到了一些教程,但它们要么无法在VS 2013社区中编译,要么就不那么对劲。 C ++对象只有几个导出的函数(即从使用中的C#应用​​(如ptr-> StartAction())中调用)。 它有约70个未公开的汇编语言程序,这就是为什么我需要使用C ++的原因。 当前,我通过dllimport等在DLL中公开了一些函数。但是C#需要使用fixed(...)(以防止垃圾回收),这会使一切变慢很多(它们被称为1,000,000倍)。 因此,需要将所有这些内容移入DLL。 因此,我需要一个可以在C#调用程序中实例化的类,然后在dll中调用公共方法。 我正在使用.NET 4.0。 该DLL将仅由该一个C#应用程序使用。

您可以借助COM组件和IDL以及互操作性dll的输出来实现它,您可以在c#项目中使用它。 有关更多详细信息,请单击此链接

您可以使用C#的DllImport属性。 这是一个示例签名:

[DllImport("path to dll", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.BStr)]
public static extern string methodName(string parameterName);

C#将在DLL中调用具有相同名称的方法。

无法说出您真正需要什么,因为我们没有您的方法声明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM