文章目录
- 前言
- 安装包获取
- 配置VLD
- 完成
前言
我们在写代码时往往容易存在内存泄漏的情况,所以存在这样一个名为VLD的工具用来检验内存泄漏,现在我来教大家安装一下
安装包获取
vld下载网址:https://github.com/KindDragon/vld/releases/tag/v2.5.1
(可能不流畅)
所以我为大家提供了百度网盘链接:https://pan.baidu.com/s/1oimzadVJRuCffae7aIm4Og?
提取码:uiqq
这里面出了这个程序还有一个很好用的小软件Everything,等等要用
我们找到下载的应用程序,双击打开
接受并下一步
记住这里的安装位置,一般会默认安装到C盘的X86文件夹里,并且新建一个文件夹
之后一直NEXT直到安装完成
但我们直接使用会报错
配置VLD
我们用Everything搜索 Microsoft Visual Studio 点击第一个什么都没有的文件夹,
然后按 Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519 的顺序找到目标文件夹
同时我们利用之前的记录的VLD的地址去找它所在的文件夹,同样也可以用Everything搜Visual Leak Detector去找到目标文件夹
第一步
将Visual Leak Detector文件夹里include的文件全部赋值到Microsoft Visual Studio\2022目标文件夹里的include文件夹里
第二步
再将Visio Leak Detector中lib文件夹中的两个**.lib文件分别放在VS2022的lib文件夹中:把Win32中的vld.lib文件放到x86中,Win64中的的vld.lib文件放到x64**中即可
完成
再次运行代码,<vld.h>不再报错,ctrl+F5即可
如果没有出现可以在 项目 -> 属性 面板栏里进行如下操作,
这里把笔者用到的代码放在这里,我们调出调试结果,直接翻到最后
#define _CRT_SECURE_NO_WARNINGS 1
#pragma warning(disable:6031)
#include<stdio.h>
#include<stdlib.h>
#include<vld.h>
int main()
{
//创建空间
int** arr = (int**)malloc(3 * (sizeof(int*)));
for (int i = 0; i < 3; i++)
{
arr[i] = (int*)malloc(5 * sizeof(int));
}
//设定值
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 5; j++)
{
arr[i][j] = 5 * i + j;
}
}
//输出
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 5; j++)
{
printf("%-5d ", arr[i][j]);
}
printf("\n");
}
//释放空间
//for (int i = 0; i < 3; i++)
//{
// free(arr[i]);
// arr[i] = NULL;
//}
//free(arr);
//arr = NULL;
return 0;
}
可以发现确实说出了这里有4处内存泄漏,分别是 **arr 和 三个 *arr