[英]How to create a c# wrapper for a software in VC++?
我需要在C#中创建VC ++包装器。 有没有一种自动生成代码的方法?
编辑:让我澄清一下:我有一个简单的项目,其中包含c ++中复杂的数学函数(计算磁偏角)。 它只有三个文件,一个标头,一个命令行控制器和库。
我当时在看SWiG,但发现它很神秘:P。 我正在看C ++ / CLI。
有什么技巧和陷阱要注意吗?
看一下: 在.NET应用程序中使用非托管C ++库(DLL)
或者您可以使用C ++ / CLI
对于大多数简短的问题:这取决于您的设置和要求! ;-)如果您拥有更多的C风格的界面,则仅使用Interop便可以解决问题。 如果涉及“真正的” OO编程和C ++,则可能必须考虑C ++ / CLI。 这可能很容易,但也可能会很痛苦-取决于您的课程。 据我所知,没有自动代码生成工具。
SWiG支持C#。 但是C ++ / CLI包装器比SWiG自动生成的“ .NET类”要多得多。
您可以看一下本教程:
http://www.codeguru.com/csharp/csharp/cs_data/article.php/c4217
我认为,如果您自己制作包装器,则比使用任何工具(如果确实存在)要好。 原因是您可以使用正确的方法创建更好的C#包装程序,而不是从DLL生成函数调用列表。
对于陷阱,我只能说的是,由于您要混合使用管理类和非管理类,因此请确保您的结构/参数匹配(sizeof或类型)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.