C#不释放非托管代码会有怎样的后果,大家进来讨论下

进入梦时才浪漫 2014-09-25 04:22:24
C#不释放非托管代码会有怎样的后果呢?是内存一直增长直到系统崩溃吗?或者其它的机制,大家来讨论讨论!!
...全文
404 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
superflyingpigg 2016-05-25
  • 打赏
  • 举报
回复
最近一直在纠结打开摄像头时弹出选择视频源对话框的问题。不知道和释放非托管资源有没有关系。。。已经困扰我好几天了,有没有大神能解答一下 啊
  • 打赏
  • 举报
回复
没人回答了,自己顶顶
  • 打赏
  • 举报
回复
引用 9 楼 sp1234 的回复:
“释放”这个词儿,现在真的很容易变成自欺欺人的工具来忽悠别人了。你知道你到底需要释放什么内容吗?是“代码”吗? 如果你说不出来“到底具体可能要释放什么?”,为了释放而释放,变成捕风捉影似地了,那么你进行程序设计多累啊、多乱啊?!
谢谢你的回复,非常有针对性。 我提出的释放代码是指继承ObjectContext的EF数据库关系映射类,平时大家都是用using(var xx = new 库关系映射类()){}去释放库关系映射类,如果关系映射类声明为类变量,每一个访问者都new一次,并且没有显示的释放using或.Dispose(),会有什么样的后果呢?请指教!!谢谢
E次奥 2014-09-26
  • 打赏
  • 举报
回复
内存溢出。。
  • 打赏
  • 举报
回复
“释放”这个词儿,现在真的很容易变成自欺欺人的工具来忽悠别人了。你知道你到底需要释放什么内容吗?是“代码”吗? 如果你说不出来“到底具体可能要释放什么?”,为了释放而释放,变成捕风捉影似地了,那么你进行程序设计多累啊、多乱啊?!
  • 打赏
  • 举报
回复
引用 楼主 yanglong925319 的回复:
C#不释放非托管代码会有怎样的后果呢?是内存一直增长直到系统崩溃吗?或者其它的机制,大家来讨论讨论!!
你是管啥样的程序叫“不是放非托管代码”呢?给出你的例子。 谁跟你说过凡是调用非托管代码就非得找什么“释放代码”去运行?
qzyf1992 2014-09-25
  • 打赏
  • 举报
回复
内存泄露。。你没释放的资源在你应用程序为关闭之前一直占据你内存
  • 打赏
  • 举报
回复
引用 5 楼 Z65443344 的回复:
非托管的dll里如果没有提供类似close和dispose的方法,那么它必须自己实现释放资源 而如果你得到的不是int类型,而是个image类型,image用完不释放,你试试看?
试了结果不明显...
於黾 2014-09-25
  • 打赏
  • 举报
回复
非托管的dll里如果没有提供类似close和dispose的方法,那么它必须自己实现释放资源 而如果你得到的不是int类型,而是个image类型,image用完不释放,你试试看?
by_封爱 2014-09-25
  • 打赏
  • 举报
回复
比如 有一个非托管的DLL 是XX摄像头提供的..里面有一个方法叫

[DllImport("NetSdk.dll")]
public static extern Int32 H264_DVR_CatchPic(int lLoginID,  int nChannel, string sFileName);
我想调用 直接

int i=H264_DVR_CatchPic(a,b,"d:1.jpg");
当然我登陆什么的 就不在这里体现了. 我一直都这么干 包括什么指纹机摄像头总之很多东西. 很多硬件厂商的接口文档 也没有提到"释放"这个问题.. 所以这是我们的原因还是开发接口的厂商有问题?
by_封爱 2014-09-25
  • 打赏
  • 举报
回复
从来没用过..
zhanglong19891129 2014-09-25
  • 打赏
  • 举报
回复
内存溢出呗还能咋的?
largeskymengsk 2014-09-25
  • 打赏
  • 举报
回复
你会崩溃,系统不会崩溃。。。。。。。。。。。。。。。。。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧