我通常在Android/Java上工作,但现在我正在开发Windows 8.1。我的库中有C++代码,需要能够访问提供的C#程序集DLL中的功能。
C# DLL有一个接口,需要实现这些接口才能接收来自DLL的回调。
我试过的是:
丢失的那块是什么?
发布于 2014-10-11 04:48:38
我能够使用C# Windows组件访问DLL。来自DLL的回调接口是在C#中实现的,将调用C# Windows组件来完成工作。
要完成的工作是调用一个C++ Windows组件,该组件将与C# Windows组件进行对话。然后,C++ Windows组件可以成为我们拥有的C++代码库的网关。
发布于 2014-08-05 07:43:56
C++/C#的互操作性可以通过两种方式实现:通过Win32 DLL或通过COM组件。
如果您计划使用Win32方法,则必须提供所有CLR类型的元数据,那么托管编译器将将元数据编译到程序集中,JIT编译器将生成执行C#/Win32 32转换的存根。
如果计划使用COM组件,则必须使用Runtime可调用包装器,它将负责实例化、类型导航、错误处理和内存管理。
有关RCW的更多信息在这里:http://msdn.microsoft.com/en-us/library/8bwh56xe(v=vs.110).aspx
https://stackoverflow.com/questions/25132458
复制相似问题