cs_pac2
Messages postés21Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention13 avril 2004
-
16 mars 2004 à 21:54
cs_pac2
Messages postés21Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention13 avril 2004
-
17 mars 2004 à 13:37
Salut,
Dans un de mes programmes je déclare des tableaux de nombres à double précision à 3 dimensions.
Je déclare en fait 6 tableaux "double tab[30][30][30]". Mon programme a donc besoin de 30^3(positions dans le tableau)*8(bytes)*6(tableaux) = +/- 1.29 Mo de mémoire. Je possède 512Mo de mémoire vive. Comment se fait-il dès lors que lorsque je dépasse 1 Mo en déclaration de variable, mon programme plante et Windows me retourne une erreur "OFFSET"???
Windows impose t'il une limite de mémoire pour les jobs? Peut-on permettre l'allocation de plus de mémoire pour nos applications C? Merci
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 17 mars 2004 à 07:13
Même si tu as 512 Mo de mémoire, il ne faut pas rêver : Windows ne va pas t'accorder de saturer la mémoire avec un seul programme ! Donc, alloue de la mémoire sur le tas, comme te dit BruNews avec mallod ou new. Par contre, n'oublie pas de libèrer la mémoire quand tu ne te sert plus de ton tableau avec free ou delete.