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

| 我需要在C#中创建VC ++包装器。有没有一种自动生成代码的方法? 编辑:让我澄清一下:我有一个简单的项目,带有c ++中的复杂数学函数(计算磁偏角)。它只有三个文件,一个标头,一个命令行控制器和库。 我当时在看SWiG,但发现它很神秘:P。我正在研究C ++ / CLI。 有什么提示和陷阱要注意吗?     
已邀请:
看一下:在.NET应用程序中使用非托管C ++库(DLL) 或者您可以使用C ++ / CLI     
SWiG支持C#。但是C ++ / CLI包装器将比SWiG自动生成的“ .NET类”更多。     
您可以看一下本教程: http://www.codeguru.com/csharp/csharp/cs_data/article.php/c4217 我认为,如果您自己制作包装器,则比使用任何工具(如果确实存在)要好。原因是您可以使用正确的原理创建更好的C#包装程序,而不是从DLL生成函数调用列表。 对于陷阱,我只能说的是,由于您要混合使用管理类和非管理类,因此请确保您的结构/参数匹配(sizeof或类型)。     
对于大多数简短的问题:这取决于您的设置和要求! ;-)如果您拥有更多的C风格界面,则仅使用Interop就可以解决问题。如果涉及到“真正的” OO编程和C ++,则可能必须考虑C ++ / CLI。这可能很容易,但也可能会很痛苦-取决于您的课程。据我所知,还没有自动代码生成工具。     

要回复问题请先登录注册