关于全局变量内存泄漏的误报和解决方案

10 篇文章 0 订阅

现象:全局变量是个类对象,析构的时候会释放内存。但系统会误报内存泄漏。
原因:报告比析构早,释放的时候已经报告完了。
解决:至少有以下三个解决方案:

1.使用#pragma comment(lib, “xxx.lib”) 而不使用设置里的“附加依赖项”。
这个具体细节应该是编译器实现的原因,但至少不误报了。
测试环境vs2017,测试了一个第三方样例,一个自己的Demo,结果一致。
(开始报内存泄漏,找了半天才发现是误报,当时有一种骂人的冲动)

2.全局变量用裸指针,提供初始化反初始化函数(全局智能指针没试过,也不想用)
(这个是我一直的方案)

3.无视之
(you ox you use,反正我不用此方案)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值