当前位置: 代码迷 >> VC >> 怎么托管C++与非托管C++混合使用
  详细解决方案

怎么托管C++与非托管C++混合使用

热度:263   发布时间:2016-05-05 00:01:37.0
如何托管C++与非托管C++混合使用
Native中封装了很多类,不想重写这些代码!要如何解决呢?
------解决思路----------------------
做成标准的Win32 API DLL,然后在托管C中调用
------解决思路----------------------
C++/CLI 啊
------解决思路----------------------
你说的太少了,都不知道该怎么帮你。我给你简单的说一说我是怎么解决这个问题的吧。
我会首先用CPP编写一个专门的对象管理类(门面模式),在这个管理类中定义对外访问的接口与对象指针的管理方法。
每次初始化的时候就返回一个新的对象指针,C#保存这个对象指针的值(一般到C#这里都是一个int类型的值了,这个值对C#来讲一般是没有意义的,你可以当做一个标示)
在调用相应方法的时候把这个标示作为一个参数传入接口方法,在这个接口方法中将这个int类型的值转换为指针,在用这个来指针来调用相应的方法。这样就OK了。
只是注意你不用的时候还需要你自己释放哦。不然就内存泄露了!!
  相关解决方案