这个情况我以前遇到过原因最終也没有确定,当初推断是因为C#的回收机制造成的
当C++第一次调用完你的回调函数后,C#这个时候已经把C++中定义的变量也就是你的那个结构體已经释放了
所以C++第二次调用的时候,发现结构体变量已经没有了当然会报错。
//定义委托的时候不要使用结构体,也就是说定义囙调函数的时候不要使用结构体。
//定义委托的时候使用指针。
//定义结构体大小的byte数组存放返回数据
//这里定义你的结构用来分析返回数據用。
//注意C++的dll一般都是ascii编码的C#是Unicode编码,有可能不能正常显示要注意转换
//无数据类型的转换,一般是C++中word类型或long类型
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。