Загадка на смекалку

Discussion in 'Болталка' started by DiesIrae, 16 Jul 2019.

  1. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,021
    Likes Received:
    1,200
    Reputations:
    327
    а касаемо винды - под стек выделяется просто мегабайт памяти и работают указатели типа ebp/esp(32) и rbp/rsp(64) бита. правда не все компили юзают rbp, мелкомягкий например смещения rsp использует, так что раскатать стек без метаданных которые ложатся в .pdata секцию какбы не реально. но если дополнительными костылями считать - то в полне реально. таки дела.
     
  2. DartPhoenix

    DartPhoenix Elder - Старейшина

    Joined:
    15 Sep 2013
    Messages:
    1,019
    Likes Received:
    7,618
    Reputations:
    24
    Если он не будет расти к низу как ты поймешь что стек переполнен ? Никто тебе не мешает выделить заранее места сколько нужно. Надо 2 гигабайта ? Выделяй 2 гигабайта. Непонятно только что ты будешь с ними делать...

    Никому это не мешает. Польза есть. Обратная совместимость тоже. Где проблемы ? Не видать :)
     
  3. DartPhoenix

    DartPhoenix Elder - Старейшина

    Joined:
    15 Sep 2013
    Messages:
    1,019
    Likes Received:
    7,618
    Reputations:
    24
    Не ну если тебе понадобится 2 гигабайта пространства для того чтобы замутить рекурсию - то есть мнение что у тебя что-то не так с алгоритмом. Это как-то слишком странно :)
     
  4. DiesIrae

    DiesIrae Active Member

    Joined:
    14 Mar 2019
    Messages:
    30
    Likes Received:
    157
    Reputations:
    0
    Где я сказал, что он не растет к низу?
    Я сказал, что меня не устраивает само описание. Рост к низу.
    А вот заполнение, это меня устраивает.
    Ещё раз.
    Представь гандон.
    Налил ты туда литр. Он наполнился на литр.
    Налил два. Он увеличил вмещаемый объем на 2 литра.
    Налил 10. Он лопнул...потому, что есть придел.
    Правильно? Так работает стек?
     
  5. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,021
    Likes Received:
    1,200
    Reputations:
    327
    у первой страницы стоит защита, и когда доберешься - будет экзепшен. дальше честно говоря хз что происходит, но система перехватывает управление и вместе с контекстом передаёт управление на KiUserExceptionDispatcher, которая исполняется ДО всяких VEH и SEH обработчиков. таки дела.
     
  6. DartPhoenix

    DartPhoenix Elder - Старейшина

    Joined:
    15 Sep 2013
    Messages:
    1,019
    Likes Received:
    7,618
    Reputations:
    24
    Нет. Есть у тебя коробка или обойма. Количество литров объема или посадочных мест под патроны в ней уменьшается. Когда уменьшается до нуля - это значит что ничего больше туда не запихнуть. И вот ты складываешь туда дворды по одному. Тот что запихнул последним - вынимаешь первым что очевидно. В архитектуре наших дней можно еще посмотреть что там внутри коробки под определенным номером и заменить если надо чем-то другим. Но суть не меняется. Это просто структура данных. Она нужна главным образом для того чтобы вызывать какие-то функции, возвращать результаты е.т.ц. но это далеко не единственный способ сие делать и можно все замутить и без стека в его классической форме. Ты можешь сделать свой собственный стек с блекджеком и шлюхами но он просто будет медленнее работать ибо не поддерживается аппаратно...

    Но вообще проблем с этим обычно нет. Я не видел такой задачи, которая имела бы проблемы с реализацией стека в том виде в каком он есть. Все работает - все ок.
     
  7. DiesIrae

    DiesIrae Active Member

    Joined:
    14 Mar 2019
    Messages:
    30
    Likes Received:
    157
    Reputations:
    0
    Почему тогда решение "игры в пятнашки", требует эвристических алгоритмов?
    Я не говорю, о 15 числах сейчас. Я говорю, о решении n чисел.
    Ладно, спасибо, за содержательные ответы. Пойду поиграю в python и поковыряю чё такое ДРАКОН.
     
  8. Spinus

    Spinus Level 8

    Joined:
    23 Sep 2018
    Messages:
    465
    Likes Received:
    2,746
    Reputations:
    12
    Хрень все это. Условия задачи поставлено не корректно. Как можно умножить 220 Вольт на поллтира? Да еще потом что-то вычесть?
    Какая уж тут смекалка, тут сплошной травматизм.
     
    USER_X and user100 like this.