Tableau statique de taille importante -> seg fault
vinc1008881
Messages postés257Date d'inscriptiondimanche 22 août 2004StatutMembreDernière intervention29 septembre 2010
-
18 juil. 2010 à 20:15
cptpingu
Messages postés3835Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention 1 novembre 2022
-
19 juil. 2010 à 09:56
Bonjour à tous,
Je rencontre un problème pour le moins bizarre concernant des tableaux statique de "grande" taille en 3D.
Voilà deux codes :
double f[100][100][30];
cout << f; //fonctionne
double f[100][100][300];
cout << f; //fonctionne pas : erreur de segmentation
je suis donc pour le moins perplexe...qu'il n'arrive pas à allouer la mémoire va encore, mais qu'il n'arrive pas à afficher le pointeur, là...
Je compile avec gcc sans aucun flag sur une machine linux possédant assez de mémoire.
Je vous remercie pour les réponses
A voir également:
Tableau statique de taille importante -> seg fault
cptpingu
Messages postés3835Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention 1 novembre 2022124 19 juil. 2010 à 09:56
C'est normal. Ton programme aurait aussi planté, si tu avais essayé d'afficher f[0][0][0]. Tu n'as pas assez de mémoire et toutes opérations sur ton tableau peut provoquer une erreur.
Comme l'a dit Pistol_Pete, dès le moment ou tu as besoin de beaucoup de mémoire, tu dois le faire en dynamique. Qui plus est, en C++, il existe plein de conteneur déjà disponible (std::vector, std::list, ...), et il y en a aussi dans boost. C'est donc très rare en C++, d'utiliser ce genre de tableau.
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question