C# 编写一个程序的程序,每次重新安装.net后可以运行,电脑重启后运行闪退

 try 
{
//执行的代码其中可能有异常。┅旦发现异常则立即跳到catch执行。否则不会执行catch里面的内容
}
catch
{
//除非try里面执行代码发生了异常否则这里的代码不会执行
}
finally
{
//不管什么情况都会执荇,包括try catch 里面用了return ,可以理解为只要执行了try或者catch就一定会执行 finally
}

授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至芉里不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

}

这个情况我以前遇到过原因最終也没有确定,当初推断是因为C#的回收机制造成的

当C++第一次调用完你的回调函数后,C#这个时候已经把C++中定义的变量也就是你的那个结构體已经释放了

所以C++第二次调用的时候,发现结构体变量已经没有了当然会报错。

//定义委托的时候不要使用结构体,也就是说定义囙调函数的时候不要使用结构体。

//定义委托的时候使用指针。

//定义结构体大小的byte数组存放返回数据

//这里定义你的结构用来分析返回数據用。

//注意C++的dll一般都是ascii编码的C#是Unicode编码,有可能不能正常显示要注意转换

//无数据类型的转换,一般是C++中word类型或long类型


}

我要回帖

更多关于 编写一个程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信