首页 技术 正文
技术 2022年11月20日
0 收藏 820 点赞 3,153 浏览 810 个字

实例说明

下面这个实例代码, 快速举例了在Win32应用程序下,对于内存的泄漏检查. 其中的原理,目前本人还是不太的理解. 只是记录了使用方法. 以后,看情况,会更新的.


#ifdef _WIN32 #define _ENABLE_MY_MEMLEAK_CHECK #include <crtdbg.h>
#include <afxdlgs.h> inline void EnableMemLeakCheck()
{
_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
}#else #undef _ENABLE_MY_MEMLEAK_CHECK#endif #include <stdio.h>
#include <stdlib.h>int main(int argc,char **argv)
{#ifdef _ENABLE_MY_MEMLEAK_CHECK
EnableMemLeakCheck(); /** 先使这一句执行,如果有内存遗漏的情况,那么在VS,IDE输出的部分, 会有数字的输出 */
//_CrtSetBreakAlloc(560); /** 然后,注释上面的一句代码, 执行这一句代码. 把对应的数字填写进去, 就可以定位内存的遗漏了. */
#endif char *pszOne = NULL;
char *pszTwo = NULL;
pszOne = (char *)malloc( sizeof(char) * 100 );
if ( NULL == pszOne );
//error;
pszTwo = (char *)malloc( sizeof(char) * 100 );
if ( NULL == pszTwo );
//error;
free(pszTwo);
printf("OK!\n");
return 0;
}

方法总结

方法都有不足的. 这种方法好像只能在Win平台下的VS中使用. 方法不可能十分的精确. 最保险的还是写代码的时候,认真一些.


相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,085
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,560
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,409
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,182
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,819
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,902