社区
嵌入开发(WinCE)
帖子详情
EVC环境下为什么delete对象无法释放内存
langlanglv
2007-03-09 01:06:57
我写了一个很简单的程序,窗口上就两个按钮,用于动态分配和释放内存.打开WinCE.net的SystemProperties的Memory选项卡查看内存情况,发现分配可以,但按了释放内存的按钮却不能释放内存,不知原因,望高手指点!
...全文
335
9
打赏
收藏
EVC环境下为什么delete对象无法释放内存
我写了一个很简单的程序,窗口上就两个按钮,用于动态分配和释放内存.打开WinCE.net的SystemProperties的Memory选项卡查看内存情况,发现分配可以,但按了释放内存的按钮却不能释放内存,不知原因,望高手指点!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
KevinCEC
2008-02-14
打赏
举报
回复
应该是释放掉的,没有及时的刷新而已。
kakashi0309
2008-02-14
打赏
举报
回复
pointsNum是类成员变量吗
dfpgb
2008-02-02
打赏
举报
回复
把程序退出了呢?会不会看起来释放掉了?
wbczyh
2008-02-02
打赏
举报
回复
应该删除了吧,估计是内存管理器没有即时更新.
91program
2008-02-01
打赏
举报
回复
应该是释放掉了,只是所谓的Memory选项卡或跟踪内存变化显示不正确
Ah
2008-02-01
打赏
举报
回复
我也遇到了这样的问题。
char **ppBuf = 0;
TRACEMEM( _T("before test new & delete") ); //跟踪内存变化
ppBuf = new char*[ 1024 ];
for ( int i = 0; i < 1024; i++ )
{
ppBuf[i] = ::new char[1024];
strcpy( ppBuf[i], "abcdefg" );
}
for ( int i = 0; i < 1024; i++ )
{
::delete ppBuf[i];
}
delete ppBuf;
TRACEMEM( _T("after test new & delete") );
上面这段代码会泄漏 1M 内存
无论是否在 new 和 delete 的前面加"::"都会
但是如果是在 new 之后直接 delete 则可以释放掉
比如
char *p = new char[ 1024 * 1024 ];
delete p;
p = 0;
这样就不会有问题。
我现在的解决办法是用一个固定大小的数组,并且是全局或者是类成员的。
比如把
char *p = new char[ 1024 * 1024 ];
改成
char g_aBuf[ 1024 * 1024 ] = { 0 };
YourKing
2007-03-12
打赏
举报
回复
你把两段代码合到一起调试看看 , 如果还是释放不了 , 那就真的奇怪了
langlanglv
2007-03-09
打赏
举报
回复
CMap::CMap()
{
}
CMap::~CMap()
{
}
void CMap::Create(int nLen)
{
pointsNum=new double[nLen];
}
void CMap::Delete()
{
delete[] pointsNum;
pointsNum=NULL;
}
在主程序中两个按扭分别调用Create和Delete.
YourKing
2007-03-09
打赏
举报
回复
贴代码啊
察看内存分配是否成功也不需要“Memory选项卡查看内存情况”吧?
企业级 VMware vSphere 6.7虚拟化技术配置与管理(下)
《企业级 VMware vSphere 6.7虚拟化技术配置与管理》课程共分为“上集”和“下集”两部分,本套视频为“下集”部分,“上集”部分已经对VMware vSphere 6.7的计算资源、网络资源、存储资源、虚拟机配置与管理等进行...
new/
delete
额外的
内存
信息
最近偶然看到一篇文章“谁动了我的指针”,里面提到了关于new/
delete
在
内存
分配中保存的额外信息,一时兴起就查了下这方面的资料,在这个过程中也确实学到了不少东西。 1.
delete
如何知道删除的
内存
大小? 这...
eVC
下CString 操作指南
eVC
下CString 操作指南 原文出处:codeproject:CString Management 通过阅读本文你可以学习如何有效地使用 CString CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC...
C++中的"
delete
this"
引子 C++中
delete
能否用于栈
对象
...在大家的印象中
delete
只能用于new出动态
内存
对象
,我们使用了g++/Clang++/MSVC来测试
delete
栈
对象
的情况。 测试代码如下: int main() { int num = 10; ...
Wince5.0,
EVC
内存
泄露调试
一开始不太注意,导致后面
内存
泄露比较严重,
eVC
下用于调试的工具,有performance monitor可以查看
内存
使用情况,heap walker可以双击当前进程查看分配的
内存
情况,见下面这篇文章: ... 另外,绘图使用::GetDC,而...
嵌入开发(WinCE)
19,502
社区成员
41,568
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章