-
-
未解决
[求助]在for循环中使用malloc,实际使用内存远大于理论内存的问题
-
发表于:
2021-2-15 19:07
3652
-
未解决 [求助]在for循环中使用malloc,实际使用内存远大于理论内存的问题
编程新手,遇到个很奇怪的问题。
在for循环里使用malloc内存占用很大,不使用for循环就正常。
如以下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 | / / VS2019 C + +
int main(void)
{
for ( int i = 0 ; i < ( int )LIMIT; i + + ){
float * t = ( float * )malloc(sizeof( float ));
}
return 0 ;
}
|
debug查看内存占用大概为1G。
不使用for循环,一次性分配,内存使用为54MB。代码如下。
1 2 3 4 5 6 7 8 9 10 11 12 | int main(void)
{
float * t = ( float * )malloc(sizeof( float ) * LIMIT);
return 0 ;
}
|
两个申请的内存应该是一样的,但是很奇怪为什么第一个会大那么多?前辈们是否能指点一下。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2021-2-15 19:13
被bookboy编辑
,原因: