Allocation dynamique de mémoire : Limitations ?
Bonjour à tous,
Mon problème est le suivant. Je tente d'allouer un tableau de grande taille (640Mo) de manière dynamique avec l'opérateur new classique du C++... Je dispose d'1Go de RAM et cette dernière n'est a priori pas surchargée lors de l'exécution de mon programme... J'ai cependant une erreur std::bad_alloc (St9bad_alloc pour être précis) à l'exécution qui m'étonne un peu !!! Y a-t-il des précautions particulières à prendre à la compilation lorsque l'on souhaite manipuler de telles tailles de mémoire ? Quelqu'un aurait-il une idée de l'origine de l'erreur ? Je précise que :
Code:
1 2
|
double *array = new double[20000000] |
fonctionne, tandis que
Code:
1 2
|
double *array = new double[80000000] |
me renvoie le message d'erreur cité précédemment. Merci pour vos réponses !