Запитання з тегом «stack»

Структура даних LIFO (Last In, First Out)

6
Стек і купа пам'яті на Java
Як я розумію, у Java стек-пам'ять містить примітиви та виклики методів, а пам'ять купи використовується для зберігання об'єктів. Припустимо, у мене є клас class A { int a ; String b; //getters and setters } Де буде зберігатися примітив aу класі A? Чому взагалі існує пам'ять купи? Чому ми не …

7
Чому стек викликів має максимальний статичний розмір?
Працюючи з декількома мовами програмування, я завжди цікавився, чому стек потоків має попередньо визначений максимальний розмір, а не розширюватись автоматично, як потрібно. Для порівняння, деякі дуже поширені структури високого рівня (списки, карти тощо), які зустрічаються в більшості мов програмування, розраховані на необхідність зростати, в той час як нові елементи додаються, …
46 stack 

6
Який сенс реалізації стека за допомогою двох черг?
У мене є таке домашнє завдання: Реалізуйте методи стека push (x) та pop (), використовуючи дві черги. Мені це здається дивним, оскільки: Стек - це (LIFO) чергу Я не бачу, для чого вам знадобиться дві черги, щоб здійснити це Я шукав: GeeksForGeeks Переповнення стека і знайшов пару рішень. Ось що …
34 java  stack 

6
Чому програми використовують стеки викликів, якщо вкладені виклики функцій можуть бути вбудовані?
Чому б не запропонувати компілятору взяти таку програму: function a(b) { return b^2 }; function c(b) { return a(b) + 5 }; і перетворити його в таку програму: function c(b) { return b^2 + 5 }; тим самим усуваючи необхідність комп’ютера запам'ятати зворотну адресу c (b)? Я вважаю, що збільшення …

3
Чому стек росте вниз?
Я припускаю, що тут є історія, але чому стек зростає вниз? Мені здається, що переповнення буфера було б набагато важче експлуатувати, якби стек виріс вгору ...
31 cpu  stack 

1
Пояснення кадру кадру
У складі MIPS є регістр покажчика стека та інший регістр для покажчика кадру. Що таке покажчик кадру та яка його мета? Чим він відрізняється від вказівника стека?
28 assembly  stack 

6
Навіщо нам потрібна купа, якщо все можна зробити набагато ефективніше на Стек?
Це насправді пов'язане з питанням, яке я задав вчора про те, чому і стек, і купа необхідні в додатках, які ми використовуємо сьогодні (і чому ми не можемо просто перейти з Heap замість обох, щоб мати простий & єдиний стандарт, який потрібно пройти). Однак багато відповідей вказували на те, що …
24 stack  heap 

4
Чому вкладається щось на стек під назвою "push"?
За даними http://dictionary.reference.com поштовх дієслово (використовується з об’єктом) натискати на або проти (річ) силою, щоб відсунути її. рухатись (чимось) певним чином, здійснюючи силу; засунути; привід: відсунути щось убік; відсунути двері . здійснити чи досягти, відсуваючи перешкоди вбік: просуватися через натовп. викликати продовження чи проект; тяга. щоб натиснути або закликати до …

4
Скільки використання стека занадто багато?
Останнім часом, коли я писав C або C ++, я оголошу всі свої змінні на стеці лише тому, що це варіант, на відміну від Java. Однак я чув, що погана ідея оголошувати великі речі на стеці. Чому саме це так? Я думаю, що переповнення стека пов'язане, але мені не дуже …

2
Як обмежені розміри стека та купи обмежені ОС?
Примітка : якщо вам потрібно розглянути конкретну ОС, щоб мати можливість відповідати, будь ласка, врахуйте Linux. Щоразу, коли я запускаю програму, їй буде надано віртуальний запам'ятовуючий простір, з областю для його стека та одним для його купи. Питання 1 : чи мають стек та купа мають статичний ліміт розміру (наприклад, …
21 linux  memory  stack  heap 

4
Розуміння кадру стека функціонального виклику в C / C ++?
Я намагаюся зрозуміти, як будуються кадри стека і які змінні (парами) підштовхуються до складання в якому порядку? Деякі результати пошуку показали, що компілятор C / C ++ приймає рішення на основі операцій, які виконуються в межах функції. Наприклад, якщо функція повинна була просто збільшити значення переданого int на 1 (аналогічно …
19 c++  c  compiler  stack 

4
Коли немає TCO, коли турбуватися про видув стека?
Кожен раз, коли виникає дискусія про нову мову програмування, спрямовану на JVM, неминуче люди говорять такі речі, як: "JVM не підтримує оптимізацію зворотного виклику, тому я прогнозую багато вибухаючих стеків" На цю тему є тисячі варіацій. Тепер я знаю, що деякі мови, як, наприклад, Clojure, мають особливу конструкцію повторень, яку …

2
Амортизований аналіз? (Найгірші гарантії ефективності)
Що таке амортизований аналіз? І як це може допомогти мені досягти найгірших гарантій ефективності в моїх програмах? Я читав, що наступні методи можуть допомогти програмісту домогтися найгірших гарантій ефективності (тобто, моїми власними словами: гарантія, що час роботи програми не перевищить час роботи в гіршому складі): Рандомізовані алгоритми (наприклад, алгоритм кварцового …

5
Чи є недолік при виділенні величезної кількості стека для одного масиву у вбудованій системі?
У мене зазвичай не виникає проблем з вирішенням того, чи повинні деякі дані бути глобальними, статичними або на стеці (тут немає динамічного розподілу, тому немає використання купи). Я також прочитав кілька таких питань, як цей, але моє запитання є більш конкретним, оскільки воно включає величезний обсяг даних, величезний порівняно з …

1
Яке призначення червоної зони?
Червона зона - це область фіксованого розміру в пам'яті поза вказівкою стека, яка не була "виділена". Компілятори генерують збірку, щоб отримати доступ до цієї області у простих функціях аркуша. Але я не бачу реальних переваг для червоної зони. Доступ до пам’яті поза вказівником стека є дійсно небезпечним і може легко …
12 assembly  stack 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.