begin process at 2012 02 09 07:30:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Système

 > 

Autre

 > 

Tableau à 3 dimensions = erreur size of variable is too large - comment éviter ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tableau à 3 dimensions = erreur size of variable is too large - comment éviter ?

mardi 16 juin 2009 à 10:16:00 | Tableau à 3 dimensions = erreur size of variable is too large - comment éviter ?

wincpp

Salut à tous.

Voilà j'ai un problème quand je veux allouer un tableau à 3 dimensions du genre

int tableau[1024][768][1000];

Mon compilateur DevC++ me dit: "size of variable 'tableau' is too large ".
Je sais c'est énorme mais je veux comme ça et pas autrement.

Je voudrais savoir comment faire pour qu'il m'autorise à créer une variable de cette taille là ou si il y a un autre moyen (pas top compliqué) pour créer un tableau 3D.

D'avance merci.
mardi 16 juin 2009 à 10:27:12 | Re : Tableau à 3 dimensions = erreur size of variable is too large - comment éviter ?

Pistol_Pete

Salut
Une simple analyse  donne 1000*1024*768*sizeof(int) = 3 Giga octets !!

En 32 bits c'est impossible il faut que tu achètes un ordi 64 bits avec plein de ram.

En tout cas, j'espère que tu ne veux pas stocker tout cela dans la pile... Cela serait de la pure folie!
Regarde du coté de l'allocation dynamique...

Donne nous la raison pour laquelle tu veux toute cette place, on pourra surement d'aider à réduire l'espace mémoire utilisé.
A+

____________________________________________________________________________
Mon site internet :
  
[ Lien ]

mardi 16 juin 2009 à 10:30:07 | Re : Tableau à 3 dimensions = erreur size of variable is too large - comment éviter ?

fregolo52

Membre Club

3Go est impossible même en 64bit, de cette façon : allocation statique.

Tu vas etre obligé de passer par malloc pour allocation dynamique. Sinon, Windows comme Linux, vont t'hurler dessus parce que la taille de la pile sera énorme.
mardi 16 juin 2009 à 10:31:42 | Re : Tableau à 3 dimensions = erreur size of variable is too large - comment éviter ?

fregolo52

Membre Club

oups je suis mal réveillé, Pistol_Peteen parle déjà


mercredi 24 juin 2009 à 17:44:55 | Re : Tableau à 3 dimensions = erreur size of variable is too large - comment éviter ?

wincpp

J'avoue que vouloir stocker 3Go dans 1 seul c'est un peu chaud ! En fait je veux pouvoir stocker les diffèrentes valeurs RGB de chaque pixel d'une image pour après y appliquer des masques. Pourquoi ? Ba parce que j'ai remarqué que lorsque j'actualise l'affichage de mon image cela va plus vite en lisant dans la RAM que sur le HDD. C'est surtout pour la vitesse de lecture et pour éviter de fragmenter mon HDD que je veux tout stocker en mémoire. Moi question allocation je connais les "new int" "delete ..." "..." "..." mais je maîtrise pas encore alors pour que j'utilise les mallocs c'est un peu mort.
jeudi 25 juin 2009 à 08:41:01 | Re : Tableau à 3 dimensions = erreur size of variable is too large - comment éviter ?

Pistol_Pete

Vouloir faire du traitement de l'image sans maitriser l'allocation dynamique est suicidaire...
C'est facile, au lieu de faire:
 int tableau[1024][768][1000];
tu fais int *tableau = new int[1024*768*1000];

Pour ton problème, ne pourrais -tu pas te contenter d'ouvrir deux, trois images à la fois
Regarde ce que fait la visionneuse windows; Lorsque tu regardes une photo, en arrière plan, elle charge la photo suivante...

Regarde ici : http://ImAnalyse.free.fr, tu trouveras un logiciel open source en taitement de l'image
A+.

____________________________________________________________________________
Mon site internet :
  
[ Lien ]



Cette discussion est classée dans : variable, tableau, of, size, dimensions


Répondre à ce message

Sujets en rapport avec ce message

tableau d'objet comme variable d'instance [ par MrKribou ] Bon dans le fichier .h (ou fait c comment qu'on appele se fichier la ? header ?) comment declare ton un tableau d'objet comme variable d'instance.Par recupérer nombre d'une createwindow [ par barbar ] voila, en fait, g un ptit pb, jveu faire 1 boucle en utilisant une variable que je rentre au clavier dans une editbox, le probleme, c ke j'arrive a ré tableau [ par coockiesch ] Bonjour à tous.Je cherche à créer un tableau à deux dimensions de manière dynamique. J'y arrive avec un tableau unidimensionnel mais pas avec deux dim ALLOCATION TABLEAU DEUX DIMENSIONS [ par tomsawyerbelgique ] Bonjour ,j'aimerais bien allouer dynamiquement de la mémoire pour un tableau a deux dimensions. Je demanderais le nombre de ligne et de colonne puis j Mettre une valeur dans un tableau (endroit précis) [ par did2604 ] Ma question peut paraître à priori un peu stupide, mais le programme étant bien plus long, la réponse à cette petite question m'aiderait grandement à tableau à trois dimensions !!! [ par glName ] J'ai uin probléme avec l'allocation dynamique d'un tableau de trois dimensions, dans un projet Exe MFC (VC++)GridPoint est une structure contenant 4 f Tableau à 3 dimensions [ par VinceExtense ] Savez vous comment faire passer en paramètre un tableau à 3 dimensions ?void fonction1(int x,iny y,int z){int tab[x][y][z];}void fonction2(int ***tab, Comment faire un tableau d'objet ?? [ par vinvay ] Voilà mon problème : j'ai une classe avec deux constructeurs, un qui ne fait rien et l'autre qui initialise une variable de cette classe.Je souhaite f Tableau de grande taille [ par LuckyNut ] Slut,J'ai un problème pour créer un tableau de grande taille à 2 dimensions : int tab[100][62000];Le programme plante sur un "stack overflow"Cette var tableau [ par zeratul67 ] J'ai une fonction qui doit me renvoyer un tableau à deux dimensions, mais la taille de l'une des ces 2 dimensions est inconue. (tableau: char cp[x][25


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,725 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales