首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > C/C++/VC++ > C#通多委托实现对C++所编写DLL的回调

C#通多委托实现对C++所编写DLL的回调

  • 资源大小:12.46 MB
  • 上传时间:2021-06-29
  • 下载次数:0次
  • 浏览次数:0次
  • 资源积分:1积分
  • 标      签: C#,委托,C++,DLL,回调

资 源 简 介

C#语言在很多应用中会调用C++编写的DLL,对于DLL中的函数,只需要入参的还好,当需要通过出参返回结果时,如果不注意往往会出现意想不到的问题,这其中的原因主要是因为C++属于非托管语言,而C#属于托管语言,两者在变量传递上有很多不同造成的。解决此问题的方法有多种,常见的有:将接口DLL封装成COM组件,也可以采用托管的C++语言CLI来编写DLL,不过在本文会推荐一种更为简单的方法,即通过委托(回调)来解决出参的问题。其原理也很容易理解,就是事先将C#语言处理函数的指针传递给DLL,这样当DLL需要返回结果时,只需要调用指针对应的函数即可。在调用指针时,所要返回的结果是作为入参传递给C#的处理函数的,这样就避免了出参在DLL接口之间传递的问题,以下就是DEMO代码,供大家参考。

文 件 列 表

CallBack_DLL
CallBack_DLL.sdf
CallBack_DLL.sln
CallBack_DLL.suo
CallDLLFunction
Debug
DLLFunction
ipch
VIP VIP
0.266177s