peakzhang 发表于 2007-12-11 22:46:39

再问ace和mfc使用有内存泄漏的问题?

我在vc6下,基于dialog创建一个工程,然后在app类的InitInstance()中,调用ACE::init()函数,在退出时调用ACE:: fini(),其他没有调用任何ace的函数,然后进入调试状态下运行,用boundercheck检查,发现内存有泄漏。在window任务管理器下,发现进程在30分钟内增加了100k多。也发现了内存泄漏
我的环境是:windows xp、ACE5.5。
在工程中的配置如下:Use MFC in shared DLL、定义了ACE_HAS_MFC宏、code Geration中设置为Debug Multithreaded DLL,LINK中设置为aced.lib。
程序编译连接都没有问题,可以调试,就是有内存泄漏。在编译ACe库时,config.h文件中加入如下内容:
#define ACE_HAS_MFC 1
#define ACE_HAS_STARDARD_CPP_LIBRARY    1
#include "ace/config-win32.h"
难道是ace和mfc兼容有问题,还是我设置的有问题。
请那位高手指点一下。

peakzhang 发表于 2007-12-11 22:47:23

泄漏是有的,但不会自动增加,只是在初始化时有一小部分分配而在最后没有释放了,不用担心

我用ACE做服务器端多,没有内存泄漏问题。做客户端的时候,是封装成为LIB,没有用USE_MFC的宏定义,也没有查出内存泄漏。
页: [1]
查看完整版本: 再问ace和mfc使用有内存泄漏的问题?