.Net呼叫C ++间歇性地在Windows 10中工作

时间:2016-02-12 01:02:34

标签: c++ .net windows interop

我们在2010年编译的C ++ DLL由CSharp .net 4.0中的应用程序调用。 C ++输出三个IntPtr,然后使用Bitmap.FromHbitmap转换为Bitmap。在Windows 7中一切正常。我们已升级到Windows 10.现在,间歇性地,在CSharp代码中捕获了SEH异常。 有没有人遇到类似问题或有任何建议? 如果您希望发布代码,请告诉我们。 谢谢

2 个答案:

答案 0 :(得分:0)

尝试在Windows 10环境中重新编译C ++ DLL,然后重试。

答案 1 :(得分:0)

我的同事能够找出问题所在。这是C ++代码中指针的问题。以下是他的评论:ImageToResize需要作为参考,因为它在此重新分配。此代码之前运行的唯一原因似乎是由于cvReleaseImage()后跟cvCreateImage()碰巧重复使用相同的内存(大部分时间),因此没有任何“移动”#39; 参数已从:* ImageToResize更改为*& ImageToResize。 因此,这可能是Windows 7和Windows 10之间不同内存分配方式的标志。 我希望这有助于将来的某个人。