作者rf0914 (<-使用者代号)
看板EE_DSnP
标题Re: [问题] simulation时记忆体爆掉
时间Mon Jan 16 05:05:13 2012
解决了!!!!
所以像是 vector< T* > newGrps 这种local variable
并不能期待他在scope结束的时候自动destruct并释放指向 T 的记忆体
所以必须在最後补上
for(size_t i=0; i<newGrps.size(); i++)
delete T;
才能正确地释放记忆体
※ 引述《rf0914 (<-使用者代号)》之铭言:
: 如题
: 我的cirsim -r随着pattern的次数增加呈线性的成长...
: 32000个pattern的时候就花了183M Byte
: 反观老师的simulation几乎没有增加记忆体的使用量
: 我是用老师的那种架构initFEC(); checkFEC(); 来写
: HashData也是 vector<unsigned>*
: Hash的destructor里面写了reset(); delete [] _buckets;
: 在checkFEC()里面也没有乱new甚麽东西
: 不知道还有甚麽地方可能会漏记忆体是我没想到的 @@
: 我在想我一定是有误会了甚麽才会这样...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.243.229
※ 编辑: rf0914 来自: 140.112.243.229 (01/16 05:05)
1F:推 j0214ack:所以问题是在pointer没有destructo吧? 01/16 09:44
2F:→ j0214ack:可是那个T*是new出来的吗@@? r 01/16 09:45
3F:→ rf0914:是的 01/16 13:29
4F:→ OckhamsRazor:不是new出来就没事吧@@ 01/16 14:18