内存泄露的问题
请教各位,局部变量的大小是否会有限制?为什么我定义了一个2M的局部变量不能释放内存?
void fun()
{
char buf[1024][1024][2];
char buf1[1024][1024][2];
memset(&buf, 0, sizeof(buf));
}
int main(int argc, char *argv[])
{
int i=0;
printf("Hello, world!\n");
fun();
while(1)
{
};
return EXIT_SUCCES;
}
就是这样的一个小测试程序,fun函数执行过后会发现内存没有释放
fun执行前后的内存使用情况的对比:
Mem: 7528K used, 21616K free, 0K shrd, 0K buff, 3412K cached
Mem: 11636K used, 17508K free, 0K shrd, 0K buff, 3412K cached