C++ API 到 C# 的自动转换?

Posted

技术标签:

【中文标题】C++ API 到 C# 的自动转换?【英文标题】:Automatic conversion of C++ API to C#? 【发布时间】:2011-10-09 17:07:33 【问题描述】:

我想知道是否有类似 C++ API 到 C# 的自动转换/包装代码生成之类的东西?

具体来说,我正在寻找一种从 C# 调用远程桌面服务 API 的方法。

【问题讨论】:

它真的是一个 C++ API,还是只是一个 C API?对于 C++,请查看 SWIG。对于 c API 检查clrinterop.codeplex.com/releases/view/14120 【参考方案1】:

一个建议:C++/CLI。 使用 C++/CLI,您可以使用用 C/C++ 编写的库到 C/C++ 以及 .net 库/dll。更多信息: A first look at C++/CLI

【讨论】:

【参考方案2】:

不,您肯定需要创建互操作代码。 如果它是 COM api,则有某种支持直接与 C# 一起使用它

【讨论】:

【参考方案3】:

您可以尝试反编译 RDCMan (http://www.microsoft.com/download/en/details.aspx?id=21101),它可以做到。或者 Codeplex 上有一个开源项目也可以做到这一点。

http://terminals.codeplex.com/

编辑:

还有一个微软提供的工具调用 aximp (http://msdn.microsoft.com/en-us/library/8ccdh774(v=VS.100).aspx)。如果您运行 aximp.exe path_to\mstscax.dll,它将生成一个包装 ActiveX 控件的 .NET WinForms 控件库。

【讨论】:

我现在正在使用终端项目,它包含我需要的所有互操作代码。感谢您的帮助! c:\windows\system32\mstscax.dll 是一个即用型 ActiveX 控件。

以上是关于C++ API 到 C# 的自动转换?的主要内容,如果未能解决你的问题,请参考以下文章

自动将 C 代码的转换元素移植到 C++

c#不同数组之间的转换转载,消化自动删除

C#项目中如何调用C#写的dll中的资源文件,如 xml文件

C#中的自动类型转换

C# 隐式运算符 MyType(int value) 自动“支持”从浮点数转换

如何自动化(从命令行)安装 Visual Studio Build Tools 构建环境,适用于 C++、.NET、C# 等