Windows 32 비트는 모든 프로세스에서 최대 2 기가 바이트 메모리 주소 공간을 허용한다는 것을 알고 있습니다. 2 기가 바이트 = 2147483648 바이트.프로세스의 메모리 주소 공간
# include<iostream>
int main(){
void *x=malloc(2147489999);
free(x);
system("pause");
return 0;
}
이유는 무엇인가,이 코드를 나는 훨씬 더 2,147,483,648 바이트보다 힙 메모리를 할당하려고 내가 오류 또는 예외를 보지?
가 신호되어야한다 ? – pezcode
예외 또는 다른 알림? – Aan
C에는 예외가 없으며'malloc'은 C++가 아니라 C입니다. 'malloc'은 NULL을 리턴함으로써 실패를 표시합니다. 반환 값을 관찰하지 않았습니다. – asveikau