Je sais que Windows 32 bits permet un processus d'un maximum de 2 Go d'espace d'adressage mémoire. 2 gigaoctets = 2147483648 octets. J'ai essayé d'allouer de la mémoire de tas beaucoup plus 2147483648 octets et j'ai vu aucune erreur ou une exception, ce code:Espace adresse mémoire d'un processus
# include<iostream>
int main(){
void *x=malloc(2147489999);
free(x);
system("pause");
return 0;
}
quelle est la raison?
comment pensez-vous d'une erreur ou d'avertissement doit être signalée ? – pezcode
exceptions ou d'autres notifications? – Aan
C n'a pas d'exceptions, et 'malloc' est C, pas C++. 'malloc' indique son échec en retournant' NULL'. Vous n'avez pas observé la valeur de retour. – asveikau