128M 메모리가있는 컴퓨터가 있는데이 프로그램입니다.이 프로그램을 몇 번이나 실행할 수 있습니까?
while(1)
{
ptr = malloc(1024 * 1024 * 100);
if (NULL == ptr)
{
printf("malloc 100M Failed\n");
return 1;
}
n+=100;
printf("malloc %dM\n", n);
}
출력에서 malloc이 20 번 실행되는 이유는 무엇입니까?
대부분의 운영 체제에서 * 가상 * 메모리를 할당합니다. 32 비트 OS의 경우 2 ~ 3GB 주변의 주소 공간이 부족할 수 있습니다. 이는보고있는 주소와 일치합니다. –
"machine"은 거의 일반적인 것입니다. 이는 구현 관련 특정 질문에 너무 도움이되지 않습니다. – GManNickG