• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 内存泄漏问题!

内存泄漏问题!

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了内存泄漏检测工具,内存泄漏,内存泄漏检测,内存泄漏及解决方法,android 内存泄漏等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 内存泄漏问题!
描述:

在一个函数中
有这样一句华:
char *buf;
_bstr_t bs;
bs = NewNodePtr->Gettext();
buf = _com_util::ConvertBSTRToString(bs);
我查了一下问题在第二句
buf = _com_util::ConvertBSTRToString(bs);
这个出现了内存泄漏 请问如何解决, 为什么造成这种情况!


解决方案1:

如果是从接口的函数中传回,需要使用 
CoTaskMemAlloc(可能记错)重新分配一段内存,将buf考到那段内存中,并传回那段内存。
而客户端需要调用CoTaskMemFree释放返回的指针,可参考
http://expert.csdn.net/Expert/topic/2404/2404295.xml?temp=.6275293
如果是DLL的导出函数,通上,不过调用GlobalAlloc(也可LocalAlloc,不过建议不用)分配内存而已,客户端调用GlobalFree释放。
如果只是普通的函数,直接向上面那样,在客户端不再使用时delete[] buf;即可

解决方案2:

buf = _com_util::ConvertBSTRToString(bs);
返回的指针buf需要释放,用
delete[] buf;
释放


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 写了这个测试,为什么内存泄露很严重,好像IWebBrowser2没有释放
  • 十万火急,AxWebBrowser内存泄露,如何处理????
  • 内存泄露问题
  • GlobalAlloc内存泄露检测
  • 会内存泄漏吗?
  • 关于内存泄漏
  • 内存泄露了,该怎么办?
  • 看里面,是否会出现内存泄漏
  • 这样怎么会内存泄露?
  • 内存泄漏问题,大家看看吧,在线等

相关文章

  • 2017-06-04 activex控件导致ie崩溃(急
  • 2017-06-04 关于atl以nt服务方式实现com的问题
  • 2017-06-04 我用Office自带的SELFCERTEXE,做证书,但出错,不知到什么原因?
  • 2017-06-04 ATL控件事件问题?
  • 2017-06-04 求IIS开发资料
  • 2017-06-05 高分求助:如何在程序间共享大量内存数据
  • 2017-06-04 在vc弄语音识别时加“sphelperh”和“sapih”出错该怎么办
  • 2017-06-04 IDL接口:BYTE传入/传出参数的问题
  • 2017-06-05 ExitWindowsExEWX_SHUTDOWN,0为什么在2000和xp下面不能关闭计算机?
  • 2017-06-05 哪位侠义心肠的大哥能给小弟解释下“稀疏文件”是怎样一种机制~另外还有一些小问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • mfc通过ado调用SQLSERVER的存储过程出错
    • 怎样CreateProcess的STARTINFO里的StdOutput;重定向到一个文件或者一个变量?
    • 如何定位当前运行位置??
    • 打开文件对话框的难题!
    • 请问关于在NT/2000中交互式的登陆支持是由WinLogon调用GINADLL的编程的问题!
    • 求助,怎么写控件
    • 在多线程里如何更新某个窗口(Dialog)的文本框?
    • dll返回值的问题。急,在线等。
    • 我在一个线程函数中使用__try__except,出现这样的错误,怎么办
    • 如何把char拷贝到已经申请好空间的bstr中

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有