为了账号安全,请及时绑定邮箱和手机立即绑定

C++中重复调用memcpy函数,会导致内存不断增加是怎么回事?

C++中重复调用memcpy函数,会导致内存不断增加是怎么回事?

C++
慕侠2389804 2018-08-15 11:14:30
for(int i = 0 ; i < numOfTraces ; i++){        TraceClass *trace = new TraceClass();        qDebug() << trace;        printf("ii=%d,size =%d\n",i,sizeof(TraceClass));        trace->readTraceHead(fmp);        delete trace;        trace = NULL;        fmp += 240 + 4L * samples;        progress->setValue(i+1);        qApp->processEvents(QEventLoop::ExcludeUserInputEvents);        if(progress->wasCanceled()){            inLineHashMap.clear();            xLineHashMap.clear();            return false;        }    }voidTraceClass::readTraceHead(uchar*fmp){char*s;longtemplong;shorttempshort;memcpy(&templong,fmp,4);fmp+=4;s=(char*)&templong;TraceHead.TRACENUMBERLINE=BinToLong(s);//001-004 }(1)如果把fmp +=240 + 4L * samples;注释掉,运行程序,内存不会变化很大;(2)如果把memcpy这句话注释掉,内存不会飙升,如果不注释掉,内存上升很快达到G。             请了解的大神指教
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1050 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信