繁体   English   中英

如何在VC ++中为软件创建ac#包装器?

[英]How to create a c# wrapper for a software in VC++?

我需要在C#中创建VC ++包装器。 有没有一种自动生成代码的方法?

编辑:让我澄清一下:我有一个简单的项目,其中包含c ++中复杂的数学函数(计算磁偏角)。 它只有三个文件,一个标头,一个命令行控制器和库。

我当时在看SWiG,但发现它很神秘:P。 我正在看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.

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