bonjour,
dev c++ me pose un petit probleme, lorsque je creer une grande matrice[700][700].
il compile, mais quand on execute, rien ne se passe. par contre, en dessous de 700, tout ce passe bien.
qqn aurrait il une idée?
merci
a++
bonjour,
dev c++ me pose un petit probleme, lorsque je creer une grande matrice[700][700].
il compile, mais quand on execute, rien ne se passe. par contre, en dessous de 700, tout ce passe bien.
qqn aurrait il une idée?
merci
a++
Tu déclares ta matrice comment ?
Si oui, c'est probablement que tu dépasse la capacité maximale de la pile mémoire de ton processus. Deux solutions : Augmenter la taille de cette pile (via des appels systèmes ou des options du compilateur), ou ne plus utiliser la pile, qui n'est pas faite pour ça, mais faire une allocation dynamique. Le plus rustique, c'est un truc genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 double matrice[700][700]; matrice[i][j] = 42;
Mais il y a plein de bibliothèques de gestion de matrices, qui en plus on défini un certain nombre d'algorithmes pour aller avec. De tête (j'en oublie probablement) : boost::ublas, MTL, blitz++, atlas,...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 double *matrice = new double[700*700]; matrice[i*700+j] = 42; delete[] matrice;
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
merci,
mais en fait, c'est pas pour moi, (je suis sous linux et la j'ai pas de problemes - et pis j'aime mieux la stl ) c'est pour un projet de premiere bachelor sous windows.(qui ne connaisse pas encore la stl ou meme new , malloc etc...)
Tu pourrais me dire comment faire cela sous dev c++, stp? pour augmenté le stack. je trouve pas sous google.
merci
a++
bon alors,
il y a encore plus simple.
suffit de déclarer le tableau en global. et alors le tableau n'est pas dans le stack.
merci
a++
Partager