当前位置: 首页 > news >正文

【C语言】“vid”Microsoft Visual Studio安装及应用(检验内存泄露)

文章目录

  • 前言
  • 安装包获取
  • 配置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的地址去找它所在的文件夹,同样也可以用EverythingVisual Leak Detector去找到目标文件夹

第一步
Visual Leak Detector文件夹里include的文件全部赋值到Microsoft Visual Studio\2022目标文件夹里的include文件夹里

在这里插入图片描述
在这里插入图片描述

第二步

再将Visio Leak Detectorlib文件夹中的两个**.lib文件分别放在VS2022lib文件夹中:把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
在这里插入图片描述

http://www.lryc.cn/news/335297.html

相关文章:

  • Accuracy准确率,Precision精确率,Recall召回率,F1 score
  • 系统架构最佳实践 -- 智慧图书管理系统架构设计
  • 网络基础三——IP协议补充和Mac帧协议
  • 人工智能——深度学习
  • postgresql uuid
  • 【azure笔记 1】容器实例管理python sdk封装
  • Nestjs 中定义既可以捕获错误(Error)和又可以异常(Exception)的过滤器
  • GitHub 仓库 (repository) Branch - SSH clone URL - Clone in Desktop - Download ZIP
  • Training - 使用 WandB 配置 可视化 模型训练参数
  • N1922A是德科技N1922A功率传感器
  • 最简洁的Docker环境配置
  • Docker内更新Jenkins详细讲解
  • 基于遗传模拟退火混合优化算法的车间作业最优调度matlab仿真,输出甘特图
  • Mac 安装 brew brew cask 遇到的问题以及解决办法
  • Vitalik Buterin香港主旨演讲:协议过去10年迅速发展,但存在效率、安全两大问题
  • 【leetcode】大数相加
  • 数据检索的优化之道:B树与B+树的深度解析与应用探索
  • 替换服务器的SSL证书有什么影响?
  • java中可变参数和简单游戏
  • 软考高级架构师:TCP/IP 协议 和 OSI 七层模型
  • 【微服务】------常见模型的分析与比较
  • C#实现HTTP上传文件的方法
  • pdffactory pro 8注册码序列号下载 附教程
  • 软件供应链安全:寻找最薄弱的环节
  • Training - Kubeflow 的 PyTorchJob 配置 DDP 分布式训练 (ncclInternalError)
  • java Web在线考试管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc
  • 爬虫 新闻网站 以湖南法治报为例(含详细注释) V4.0 升级 自定义可任意个关键词查询、时间段、粗略判断新闻是否和优化营商环境相关,避免自己再一个个判断
  • 科技云报道:从“奇点”到“大爆炸”,生成式AI开启“十年周期”
  • 【用户案例】太美医疗基于Apache DolphinScheduler的应用实践
  • 权限管理系统【BUG】