Questions marquées «stack»

Une structure de données LIFO (Last In, First Out).

99
Mémoire de pile et tas en Java

Si je comprends bien, en Java, la mémoire de pile contient les primitives et les invocations de méthodes, tandis que la mémoire de tas est utilisée pour stocker des objets. Supposons que j'ai une classe class A { int a ; String b; //getters and setters } Où la primitive aen classe Asera-t-elle...

46
Pourquoi la pile d'appels a-t-elle une taille maximale statique?

Ayant travaillé avec quelques langages de programmation, je me suis toujours demandé pourquoi la pile de threads avait une taille maximale prédéfinie, au lieu de se développer automatiquement selon les besoins.  En comparaison, certaines structures de haut niveau très courantes (listes, cartes,...

31
Pourquoi la pile croît-elle vers le bas?

Je suppose qu'il y a une histoire, mais pourquoi la pile se développe-t-elle vers le bas? Il me semble que les dépassements de tampon seraient beaucoup plus difficiles à exploiter si la pile augmentait

28
Explication du pointeur de cadre

Dans l' assemblage MIPS , il existe un registre pour le pointeur de pile et un autre registre pour le pointeur de trame. Qu'est-ce que le pointeur de cadre et quel est son objectif? En quoi diffère-t-il du pointeur de

22
Pourquoi mettre quelque chose sur la pile s'appelle "push"?

Selon http://dictionary.reference.com pousser verbe (utilisé avec l'objet) appuyer sur ou contre (une chose) avec force pour l'éloigner. se déplacer (quelque chose) d'une manière spécifiée en exerçant une force; pousser; conduire: pour pousser quelque chose de côté; pour ouvrir la porte . effectuer...

22
Combien d'utilisation de la pile est trop?

Dernièrement, lorsque j'ai écrit du C ou du C ++, je déclarerai toutes mes variables sur la pile simplement parce que c'est une option, contrairement à Java. Cependant, j'ai entendu dire que c'est une mauvaise idée de déclarer de grandes choses sur la pile. Pourquoi est-ce exactement le cas? Je...

12
À quoi sert la zone rouge?

La zone rouge est une zone de taille fixe en mémoire au-delà du pointeur de pile qui n'a pas été "allouée". Les compilateurs génèrent un assemblage pour accéder à cette zone dans de simples fonctions de feuille. Mais je ne vois aucun avantage réel pour la zone rouge. L'accès à la mémoire au-delà du...

11
Je comprends ce qu'est un pointeur de pile - mais à quoi sert-il?

Le pointeur de pile pointe vers le haut de la pile, qui stocke les données sur ce que nous appelons une base "LIFO". Pour voler l'analogie de quelqu'un d'autre, c'est comme une pile de plats dans laquelle vous mettez et prenez des plats au sommet. Le pointeur de pile, OTOH, pointe vers le "plat"...

11
La pile d'appels commence en bas ou en haut?

Une pile est quelque chose qui s'entasse de bas en haut. Par conséquent, une pile d'appels ajoute de nouveaux éléments sur la pile lorsque des fonctions sont appelées avec des éléments retirés de la pile à la fin de chaque fonction jusqu'à ce que la pile soit vide, puis le programme se termine. Si...

10
Limite de la pile

Récemment, j'ai testé la limite d'une pile sur trois appareils avec des systèmes d'exploitation différents (par limite, je veux dire le nombre maximal de niveaux que la pile peut avoir), et j'ai remarqué que chaque fois que je touche 2 ^ 16 niveaux, cela me donne erreur de débordement, et quand je...