Pytania oznaczone «stack»

Struktura danych LIFO (Last In, First Out).

99
Pamięć stosu i sterty w Javie

Jak rozumiem, w Javie pamięć stosu zawiera prymitywy i wywołania metod, a pamięć sterty służy do przechowywania obiektów. Załóżmy, że mam klasę class A { int a ; String b; //getters and setters } Gdzie będzie przechowywany prymityw aw klasie A? Dlaczego pamięć sterty w ogóle istnieje?...

46
Dlaczego stos wywołań ma statyczny maksymalny rozmiar?

Pracując z kilkoma językami programowania, zawsze zastanawiałem się, dlaczego stos wątków ma predefiniowany maksymalny rozmiar, zamiast rozszerzać się automatycznie w razie potrzeby.  Dla porównania, niektóre bardzo popularne struktury wysokiego poziomu (listy, mapy itp.), Które można znaleźć w...

31
Dlaczego stos rośnie w dół?

Zakładam, że jest to historia, ale dlaczego stos rośnie w dół? Wydaje mi się, że przepełnienie bufora byłoby znacznie trudniejsze do wykorzystania, gdyby stos wzrósł w górę

28
Objaśnienie wskaźnika ramki

W zespole MIPS istnieje rejestr wskaźnika stosu i kolejny rejestr wskaźnika ramki. Co to jest wskaźnik ramki i do czego służy? Czym różni się od wskaźnika

22
Ile zużycia stosu jest za dużo?

Ostatnio, gdy piszę C lub C ++, zadeklaruję wszystkie moje zmienne na stosie tylko dlatego, że jest to opcja, w przeciwieństwie do Javy. Jednak słyszałem, że deklarowanie dużych rzeczy na stosie jest złym pomysłem. Dlaczego dokładnie tak jest w tym przypadku? Sądzę, że w grę wchodzi...

19
Zrozumienie ramki stosu wywołania funkcji w C / C ++?

Próbuję zrozumieć, w jaki sposób budowane są ramki stosu i które zmienne (parametry) są wypychane do stosu w jakiej kolejności? Niektóre wyniki wyszukiwania wykazały, że kompilator C / C ++ decyduje na podstawie operacji wykonywanych w ramach funkcji. Na przykład, jeśli funkcja miała po prostu...

12
Jaki jest cel czerwonej strefy?

Czerwona strefa to obszar o stałym rozmiarze w pamięci poza wskaźnikiem stosu, który nie został „przydzielony”. Kompilatory generują zespół, aby uzyskać dostęp do tego obszaru w prostych funkcjach liści. Ale nie widzę żadnych prawdziwych korzyści dla czerwonej strefy. Dostęp do pamięci poza...

11
Rozumiem, co to jest wskaźnik stosu - ale do czego służy?

Wskaźnik stosu wskazuje na górę stosu, który przechowuje dane na podstawie tak zwanej „LIFO”. Aby ukraść czyjąś analogię, to jest jak stos naczyń, w którym wkładasz i bierzesz naczynia na górze. Wskaźnik stosu, OTOH, wskazuje górne „naczynie” stosu. Przynajmniej tak jest w przypadku x86. Ale...

11
Stos wywołań zaczyna się na dole czy na górze?

Stos to coś, co układa się oddolnie. Dlatego stos wywołań dodaje nowe elementy do stosu, gdy wywoływane są funkcje, a elementy są usuwane ze stosu, gdy każda funkcja kończy się, aż stos jest pusty, a następnie program się kończy. Jeśli powyższe informacje są poprawne, dlaczego ludzie odnoszą się...

10
Limit stosu

Niedawno przetestowałem limit stosu na trzech urządzeniach z różnymi systemami operacyjnymi (przez limit rozumiem maksymalną liczbę poziomów, jaką może mieć stos), i zauważyłem, że za każdym razem, gdy osiągam 2 ^ 16 poziomów, daje mi to błąd przepełnienia, a gdy wstawię 2 ^ 16-1, działa...