Taille de matrice

cs_MLine Messages postés 20 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 11 juin 2003 - 9 juin 2003 à 16:50
cs_payen Messages postés 252 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 1 mai 2005 - 10 juin 2003 à 12:27
Dans c++ builder 5, je déclare une matrice dans ma classe Organism :

class Organism
{
 // plein d'autres trucs  
 protected :
      static float DispCoeff[100][100];
};


et dans le .cpp :

float Organism::DispCoeff[100][100];


Lorsque la matrice a une taille de 20*20, aucun problème.
Mais si elle est de taille 100*100 (ou plus), ça compile mais j'obtiens immédiatement l'erreur :

Project Project6.exe raised exception class EAccessViolation with message "Access Violation at adress 0040B2B7. Write of adress 004AAA20". Process stopped. Use Step or Run to continue.

Y-a-t-il des options particulières de compilation pour de grosses tailles de matrices ?? Je ne vois pas ce qui bloque :question)

MLine ;)

3 réponses

cs_payen Messages postés 252 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 1 mai 2005
9 juin 2003 à 21:28
passes par de l'allocation dynamique ...
0
cs_MLine Messages postés 20 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 11 juin 2003
10 juin 2003 à 11:38
Je ne crois pas que l'allocation dynamique y change grand chose... Je viens d'apprendre que la taille mémoire disponible pour les attributs statiques est de 64 kB. Or une matrice de float de taille 40*40 en prend 38 kB, et une de taille 80*80 prend 153 kB... donc mon erreur s'explique.

Mais là, il me faudrait un super pro de C++ Builder pour me dire comment régler les options du compilo pour augmenter l'espace disponible par attribut statique svp !!!
Je pense que c'est pas gagné :sad)

MLine ;)
0
cs_payen Messages postés 252 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 1 mai 2005
10 juin 2003 à 12:27
fais de l'alloc dynamique! j'ai mis un post ce matin avec tout ce qu'il faut pour allouer/desallouer memoire ...
si ca change rien, alors vraiment j'comprends plus ...
0
Rejoignez-nous