从未管理的项目调用托管代码(C#/ Visual Basic VS2010)(C / C ++ VS2005)

时间:2015-05-04 07:39:29

标签: c# c++ unmanaged managed

简短版本:

来自Brüel&amp ;;的

拥有: DLL的托管代码(C#/ Visual Basic) KjærSDK

需要:在旧版Project Un-Managed Code(C ++ Visual Studio 2005)中与DLL进行通信

长版:

我们有一个用C / C ++编写的项目( Visual Studio 2005 )。现在我必须实现与新设备的通信。 (Brüel&Kjær2250SDKNoice )。

问题是,Brüel& Kjær仅支持使用C#或Visual Basic的库(托管代码)( Visual Studio 2010及更高版本),但我们的项目是旧的非托管C / C ++代码

所以,问题是,我如何在旧的C ++代码中使用DLL? 我没有DLL的源代码,我只有DLL。

我希望有人可以帮我解决这个问题。提前致谢!

1 个答案:

答案 0 :(得分:0)

您想要的可能是C ++ / CLI(公共语言基础结构)。它基本上使您能够在C ++中使用.NET类型。有了这个,您可以调用C#DLL并使用DLL提供的数据作为.NET类型。既然你已经在C ++代码中使用了应用程序,我猜你不想完全重写它。您不必将托管类型转换为非托管类型,这可以通过C ++ / CLI实现。

如果您想了解更多相关信息,here是一篇冗长的MSDN文章,here是一本非常有用的快速教程。