内存储器一直在增加
内存一直在增加
非常简单的一段代码,但测试发现一直有内存在增加
//这是一个回调函数,让dll里处理完数据回调这个给应用程序处理的。
void _stdcall element_Fcall(unsigned char* Elementstatus,int len)
{
unsigned char * Datagrame= new unsigned char[len];
memcpy(Datagrame,Elementstatus,len);
show_data(Datagrame,len)//这个函数仅是显示Datagrame指向地址的内容
Datagrame=NULL;
delete []Datagrame;
}
就这么简单,但总是内存持续增加
------解决方案--------------------
------解决方案--------------------
Datagrame=NULL;
delete []Datagrame;
是不是顺序反了?
------解决方案--------------------
楼上几位大侠正解。
delete[] Datagrame;
Datagrame = NULL;
非常简单的一段代码,但测试发现一直有内存在增加
//这是一个回调函数,让dll里处理完数据回调这个给应用程序处理的。
void _stdcall element_Fcall(unsigned char* Elementstatus,int len)
{
unsigned char * Datagrame= new unsigned char[len];
memcpy(Datagrame,Elementstatus,len);
show_data(Datagrame,len)//这个函数仅是显示Datagrame指向地址的内容
Datagrame=NULL;
delete []Datagrame;
}
就这么简单,但总是内存持续增加
------解决方案--------------------
Datagrame=NULL;
delete []Datagrame; //上面都把指针置为NULL了 此处delete还能生效么
------解决方案--------------------
Datagrame=NULL;
delete []Datagrame;
是不是顺序反了?
------解决方案--------------------
楼上几位大侠正解。
delete[] Datagrame;
Datagrame = NULL;