J'ai déclaré et initialisé un tableau ayant [100] [1000] [1000] éléments char (100MB), il n'a pas été question d'un débordement de pile à la première fois.Mais quand je cours Après un certain temps, il lance une exception de dépassement de pile! J'ai augmenté la taille de la réserve de stockage à 200 000 000 dans le projet options-> linker-> système, mais cela n'a pas fonctionné! Je travaille en utilisant Ram 2 Go. Comment puis-je éviter la pile sur le flux.Débordement de pile C++ - Visual Studio 2008
Répondre
Arrêtez d'utiliser la pile! Utilisez la mémoire de tas!
Y a-t-il une raison pour laquelle vous avez besoin d'allouer autant de mémoire de pile? C'est probablement une carence dans votre algorithme - pas une lacune avec le compilateur.
La taille de pile par défaut n'est pas une option de lien, mais est contrôlée par un certain nombre de mécanismes spécifiques à la plate-forme ésotérique.
Sous Windows, cela peut être contrôlé lorsque vous appelez CreateThread. Il existe également des mécanismes pthread attr pour faire cela sur Unix.
Dans le code non-threaded, sous Unix, il existe des paramètres ulimit qui contrôlent cela, mais ils peuvent être limités par les limites de la plate-forme. Par exemple, sur AIX dans les processus 32 bits, pile et tas croissent ensemble dans le second segment, vous avez donc un maximum de 256 Mo pour les deux (et beaucoup de plaisir une fois qu'ils sont touchés).
Il peut y avoir des mécanismes de plate-forme que vous pouvez utiliser pour contrôler ceci (comme ulimit), mais la suggestion d'utiliser le tas est probablement prudente.
- 1. Débordement de pile C#
- 2. Problèmes C++ Visual Studio 2008
- 3. Visual Studio C++ 2008 question de liaison
- 4. Formation Visual Studio 2008
- 5. Visual Studio 2008 Profiler - Bibliothèque C++ Problème
- 6. Programmation C dans Visual Studio 2008
- 7. C# .net looping débordement de pile de threads
- 8. Débogage Visual Studio 2008
- 9. Bogues Visual Studio 2008?
- 10. Éditeur Visual Studio 2008
- 11. Visual Studio 2008 Installation
- 12. Documentation Visual Studio 2008
- 13. PREfast avec Visual Studio 2008
- 14. ILDASM.exe via Visual Studio 2008
- 15. Commentant dans Visual Studio 2008
- 16. Visual Studio 2008 Méthode obsolète
- 17. Débogage d'un débordement de pile flash
- 18. after_initialize provoque un débordement de pile
- 19. Meilleur tutoriel de débogage Visual Studio 2008?
- 20. Meilleures pratiques Visual Studio 2008 + Sql 2008
- 21. Coloriage de syntaxe Visual Studio 2008 Problème
- 22. Structure de projet C++ sous Visual Studio 2008
- 23. newbie C questions de bibliothèque d'exécution dans Visual Studio 2008
- 24. Visual Studio 2008 Publish échoue
- 25. Visual Studio 2008 Database Edition
- 26. Visual Studio 2008 intellisense gone
- 27. IIS dans Visual Studio 2008
- 28. Visual Studio 2008 Sauvegarde automatique
- 29. Visual Studio 2008 crash IDE
- 30. Couleurs dans Visual Studio 2008
D'accord. 100 Mo sur la pile est assez absurde. Et je pensais que j'étais mauvais pour utiliser plus d'une page ... – asveikau
Utilisez "Free Store" plutôt que d'utiliser Heap –