我的公司使用定期更新的第三方C ++ DLL。我一直在手动创建C#DLLImport语句,但在最后一次更新中,函数数量几乎翻了一番。是否有任何工具(最好是免费的)可以从非托管的C ++ .dll或.lib文件创建C#DLLImport? (DLL导出修饰的C ++函数,而不是C ++类。)
答案 0 :(得分:2)
Microsoft的Managed,Native和COM Interop团队在Codeplex上提供了一些工具,其中包括一个名为
的工具<强> P/Invoke Interop Assistant 强>
我自己没有尝试过,但它看起来好像可以做你想要的。
答案 1 :(得分:0)
据我所知,这样的工具不存在。您必须自己为每个函数编写P / Invoke声明。我认为它也是一样,因为C ++函数通常充满了细微之处,包括输入/输出上下文,c风格的字符串,c风格的数组,指针,引用和什么不是。很多时候,预期的输入/输出只能用文档表示,工具不可能为函数输出正确的编组声明。
答案 2 :(得分:-1)
我会写一个C ++ / CLI包装器。