Se connecter avec
S'enregistrer | Connectez-vous

Taille maximale des tableaux

Dernière réponse : dans Programmation

Bonjour,

je suis en train de programmer en SystemC (une bibliothèque pour C++ pour représenter des composants matériels). Je souhaite réaliser une mémoire de 16Mo de 32 bits. J'ai voulu représenter ça sous forme d'un tableau mais sa taille doit donc etre de 16000000 et des brouettes. Lors de l'execution de mon programme, j'ai donc droit à un beau plantage (memoire ne peut etre "read"). Quelqu'un aurait-il une idée de comment faire? ou d'ou peut venir le problème (taille du heap??).

mon code :

memory = new ADDRESS_TYPE[k * 1024];

avec k taille mémoire en ko

Autres pages sur : taille maximale tableaux

Lassé par la pub ? Créez un compte
Expert Programmation

normalement y a pas de problèmes pour générer des gros tableaux.

si ton programme plante alors je te conseille d'utiliser le débuggeur pour savoir à quelle ligne ton programme plante.

sinon il se peut que il y a plus de place en mémoire, dans ce cas la memory vaudrai NULL, mais il faut vraiment que le système soit surchargé pour que ça arrive.

sinon essaye d'utiliser des vecteurs plutot que des tableaux C.

l'erreur vient d'un des fichiers de la bibliothèque SystemC, au niveau :

int size() const
{ return m_size; }

le debuggeur me dit que l'expression ne peut etre évaluée.
avec m_size qui est la taille du tableau;

Sinon j'utiliserais bien un vecteur mais il renvoie aussi à des données stockées dans le heap. Et de plus il me faudrait modifier toute ma bibliothèque...
Lassé par la pub ? Créez un compte