VS2015中编译snmp++及内存泄漏解决方法
2017-11-23 10:57
671 查看
1.准备snmp++源码
下载地址:http://download.csdn.net/download/sinat_27261621/10129628
2.新建Win32项目
3.选择Lib静态库
4.将解压后的文件copy到工程目录
5.将所有源文件添加到工程
6.添加头文件目录project->properties
7.最后编译生成.lib文件
8.编译snmp++v3.2.25和libdes-l-4.0.1a的方法一样,本文只列出了前者的编译方法,其实都换汤不换药。
9.内存泄漏解决
log.h 中
分配的instance没有释放,造成64字节(64 bytes)的内存泄漏。
解决:
log.h 中增加delete_log_instance()函数:
LOG_END的定义修改如下:
如果不使用日志功能,可以在编译snmp++的时候:
这样也不会存在这个问题。
下载地址:http://download.csdn.net/download/sinat_27261621/10129628
2.新建Win32项目
3.选择Lib静态库
4.将解压后的文件copy到工程目录
5.将所有源文件添加到工程
6.添加头文件目录project->properties
7.最后编译生成.lib文件
8.编译snmp++v3.2.25和libdes-l-4.0.1a的方法一样,本文只列出了前者的编译方法,其实都换汤不换药。
9.内存泄漏解决
log.h 中
static AgentLog* log() { if (!instance) init(new AgentLogImpl()); return instance; }
分配的instance没有释放,造成64字节(64 bytes)的内存泄漏。
解决:
log.h 中增加delete_log_instance()函数:
class DLLOPT DefaultLog { .... static void delete_log_instance() { if (instance) delete instance; instance = 0; } .... };
LOG_END的定义修改如下:
#define LOG_END \ *DefaultLog::log() += DefaultLog::log_entry(); \ DefaultLog::delete_log_entry(); \ DefaultLog::log()->unlock(); \ DefaultLog::delete_log_instance(); \ } \
如果不使用日志功能,可以在编译snmp++的时候:
#define _NO_LOGGING
这样也不会存在这个问题。
相关文章推荐
- VS2015 编译 Detours 方法,解决各种报错和警告。
- QtCreator 4.0 Q5.7 VS2015 源码中有中文导致编译失败的问题的解决方法
- DirectX在VS2015上编译时遇到“无法解析的外部符号 __vsnwprintf”的解决方法及原因
- 使用vs2015编译VTK INSTALL-仅用于项目-仅生成INSTALL出错解决方法
- VS2015 C++编译失败,提示link1171,无法加载mspdb140.dll错误解决方法!
- VS2015 x64环境下编译flann源代码错误:serialize 左边必须有类/结构/联合 的解决方法
- 简单内存泄漏检测方法,解决Detected memory leaks!问题
- 简单内存泄漏检测方法 解决 Detected memory leaks!
- WebBrowser 控件应用程序在 WindowsXP 中, 在 Windows Server 2003, 或 WindowsVista 中 Msctf.dll 组件中发生内存泄漏 解决方法
- vs中检测内存泄漏的方法
- vs2015 系统找不到指定的文件(异常来自HRESULT:0x80070002)问题的解决方法
- 简单内存泄漏检测方法 解决 Detected memory leaks! 问题
- 简单内存泄漏检测方法 解决 Detected memory leaks! 问题
- opengl红宝书第11章, gluTessCallback函数的例子在vs.net编译不过的解决方法
- OGRE 2.1 使用VS2015编译的过程以及问题的解决
- FreeImage 3.17.0 在VS2015下编译及遇到问题解决
- VS 2005 编译的程序不能运行的几个解决方法
- VS编译中出现 inline”之后应输入“(”错误问题解决方法
- XCode编译文件过多导致内存吃紧解决方法
- VS编译duilib项目时候的错误解决方法整理