КАК РАБОТАЕТ СТЕК | ОСНОВЫ ПРОГРАММИРОВАНИЯ

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ค. 2024
  • Как работает стек, что это вообще такое и почему он напрямую связан с работой функций мы разберем в этом видео.
    ССЫЛКИ ИЗ ВИДЕО:
    1. Как работает память компьютера - • КАК РАБОТАЕТ ПАМЯТЬ КО...
    2. Как работает процессор - • КАК РАБОТАЕТ ПРОЦЕССОР...
    💎 Поддержка канала:
    / alekos1
    yoomoney.ru/to/410011179144828
    00:00 Введение
    00:49 Что такое стек
    01:23 Рост в обратную сторону
    02:20 Указатели
    03:35 Команды для работы со стеком
    04:54 Функции
    06:30 Команды перехода
    07:18 Фрейм стека
    10:37 Переполнение стека
    10:50 Передача параметров в функцию
    13:09 Способы передачи параметров
    13:49 Локальные переменные функции
    15:07 Итог

ความคิดเห็น • 279

  • @AlekOS
    @AlekOS  3 ปีที่แล้ว +51

    00:00 Введение
    00:49 Что такое стек
    01:23 Рост в обратную сторону
    02:20 Указатели
    03:35 Команды для работы со стеком
    04:54 Функции
    06:30 Команды перехода
    07:18 Фрейм стека
    10:37 Переполнение стека
    10:50 Передача параметров в функцию
    13:09 Способы передачи параметров
    13:49 Локальные переменные функции
    15:07 Итог

  • @user-mx2bi6le6r
    @user-mx2bi6le6r 2 ปีที่แล้ว +415

    Пишешь код на высокоуровневых языках, считаешь, что понимаешь что-то в программировании и даже называешь себя программистом. Однако после просмотра твоих видео сразу становится понятно, что без всего описанного в них фундаментала ты не «программист», а всего лишь «кодер», видящий лишь верхушку айсберга. Потрясающий контент, ни в коем случае не останавливайся в развитии канала 🔥🔥🔥

    • @dr.margulis7773
      @dr.margulis7773 2 ปีที่แล้ว +19

      @@WhiteZSY ни один нормальный человек свою программу ПОЛНОСТЬЮ на асме не пишет, только определённые участки кода. Мой товарищ, который пишет на плюсах, использует асм для написания ядра вычпроцессов и только, всё остальное, соответственно, на плюсах. Без знаний асма его софт был бы, мягко говоря, тормознутым.

    • @Acid31337
      @Acid31337 2 ปีที่แล้ว +18

      Если думаешь, что нашел какой-то глубокий практический смысл в этом, то тебе просто показалось.
      Это абсолютно бесполезное с точки зрения программирования в 2021 году знания, не нужно это нигде применять. Только хуже сделаешь, разрушив существующие абстракции.

    • @realfootball338
      @realfootball338 2 ปีที่แล้ว +26

      Просто начинаешь понимать лучше как оно работает. Для написания эффективных программ конечно лучше это понимать. А вообще можно быть крутым челом, хорошо понимать прикладную область к примеру data science, AI, CV и писать на языках с автоматическим управлением памятью. Программист же - просто не понимающих как это работает. И если уже круто кодишь эффективно на JS или Python то эту теорию и C поймешь с чашкой кофе.
      Я когда то думал что обучаться нужно с ASM/C и архитектуры железа. Теперь понимаю что лучше с JS, потом тренировка мозгов алгоритмами, и потом ниже и ниже. Считаю такой путь наиболее эффективным

    • @fomka_wyverno
      @fomka_wyverno 2 ปีที่แล้ว +6

      Не переживай когда нибудь и наши современные ЯП заменят и будут вместо их более абстрактные языки. Это лишь дело времени не все же бесконечно (Кроме Java)

    • @VoidObj
      @VoidObj 2 ปีที่แล้ว +24

      @@fomka_wyverno да, лет через 50 запускаешь ИДЕшку, а там одна кнопка - "сделать пистато" 😂

  • @atbt230
    @atbt230 3 ปีที่แล้ว +132

    Подача информации на высочайшем уровне как с точки зрения представления, так и содержания.

  • @wanderbee8278
    @wanderbee8278 2 ปีที่แล้ว +31

    Я любитель. Мне не давало покоя, почему меня больше интересует низкоуровневое программирование, чем высокоуровневое, понимая, что первое не столь востребовано и популярно. И я рада, что наконец-то я нашла отражение своим знаниям! Спасибо за видео!🤩

  • @alexfantast6566
    @alexfantast6566 2 ปีที่แล้ว +59

    Огромное спасибо за это видео! Концентрированная, систематизированная, рационально укомплектованная и последовательно представленная информация - ничего лишнего. Моё почтение.

  • @NKernytskyy
    @NKernytskyy 2 ปีที่แล้ว +10

    ЛОЛ. Вже через 3 хвилини. я зрозумів, що це найкраще пояснення теми, яке я бачив.
    ПОВАГА автору. Достойний контент. Якість виконання на висоті. Більше такої годноти.

  • @user-jx4jb4of3c
    @user-jx4jb4of3c 2 ปีที่แล้ว +8

    По формату ты собрал все лучшее от (субъективно) sorax и windrton. Но! По качеству материала ты превзошёл их на голову. Очень приятный и концентрированный контент. Спасибище тебе. Я теперь могу быть уверенным, что у начинающих есть шанс чему-то научиться. Если конечно, они придут именно на этот канал.

  • @Agent_-bn7xp
    @Agent_-bn7xp 2 ปีที่แล้ว +3

    Твой канал - это лучше что я встречал на ютубе....

  • @anonsd5521
    @anonsd5521 หลายเดือนก่อน

    Пожалуй лучший ютубер, рассказывающий о низких уровнях. Спасибо.

  • @deniskarter7088
    @deniskarter7088 2 ปีที่แล้ว +2

    Шикарные видео! Сложности нас не пугают, даже наоборот - хочется изучить ассемблер)) Благодарю Вас за такие видео!

  • @aleksanderostrowski7785
    @aleksanderostrowski7785 ปีที่แล้ว

    Спасибо. Подобный контент очень нужен!

  • @ToxaKolganov
    @ToxaKolganov 2 ปีที่แล้ว +3

    Огромное спасибо! Никак не мог понять процессы в стеке, теперь стало намного понятней с Вашим подходом к объяснению! )

  • @user-ll4lq4fb7w
    @user-ll4lq4fb7w 2 ปีที่แล้ว +4

    Потрясающе!

  • @vlvmakeev
    @vlvmakeev 2 ปีที่แล้ว +10

    Большое спасибо за такие качественные и эффективные ролики, Вы делаете большое дело!

  • @user-yn8kb4im6b
    @user-yn8kb4im6b 2 ปีที่แล้ว

    Спасибо! Прекрасная подача материала.

  • @denruslife9845
    @denruslife9845 2 ปีที่แล้ว +1

    Спасибо за выпуск! Супер!

  • @user-dj2lw4fo2u
    @user-dj2lw4fo2u ปีที่แล้ว +6

    Боже, как хорошо что есть такие контентмейкеры. Спасибо тебе огромное. Благодаря тебе начинаю потихоньку разбираться в основах программирования. Надеюсь мне хватит упорства и сил чтобы обуздать эту нелегкую в освоение штуку. Продолжай в том же духе, у тебя хорошо получается объяснять. Постараюсь расти вместе с твоим каналом )

  • @artembrg
    @artembrg 2 ปีที่แล้ว +15

    полезная инфа для тех, кто не в курсе ассемблера) классная подача, с удовольствием повторил материал универовского курса!)
    автору развития и процветания, такой контент не должен остаться незамеченным)

  • @SerakovVitaliy
    @SerakovVitaliy 2 ปีที่แล้ว

    Нереально круто! Спасибо за столь ценный контент.

  • @dimitrijnekrasov
    @dimitrijnekrasov ปีที่แล้ว

    Парень, супер подача! Спасибо!

  • @danilgaijin8366
    @danilgaijin8366 2 ปีที่แล้ว +2

    Жги дружище. Полезнейшее видео

  • @user-mw7gc8uy9c
    @user-mw7gc8uy9c 2 ปีที่แล้ว +28

    Отличное видео! Мне в целом тяжело дается вся эта тема с памятью компьютера, регистрами и ассемблером. Но Ваш ролик помог чуть лучше это понять. Думаю, еще пара просмотров - и стек перестанет казаться мне таким страшным. Спасибо Вам огромное!

    • @alexvolkov529
      @alexvolkov529 ปีที่แล้ว +4

      я по нескольку раз пересматриваю одно видео

    • @some5npdef
      @some5npdef ปีที่แล้ว +1

      @@alexvolkov529 кто-то может назвать это "фуу, тупость какая-то" и это будут говорить те люди, которые не поняли и не захотели разобраться. Поэтому одобряю такой подход:)

  • @jopa19991
    @jopa19991 2 ปีที่แล้ว

    Спасибо за наглядную демонстрацию использования параметров и сохранения стек поинтера в callee - так яснее, чем в голове представлять.

  • @user-zgb
    @user-zgb ปีที่แล้ว +3

    Визуализация на высшем уровне. Отличная подача, отличный звук. Браво

  • @videostream5921
    @videostream5921 2 ปีที่แล้ว

    Спасибо, отличный канал, отличные видео, качественный монтаж и четкая дикция.

  • @nt2548
    @nt2548 2 ปีที่แล้ว

    Большое спасибо Вам. Посмотрел несколько видео. Хорошо обясняете и графика на уровне.

  • @secundus6457
    @secundus6457 หลายเดือนก่อน

    Cупер-понятно и доступно, благодарю.

  • @666VORON999
    @666VORON999 ปีที่แล้ว

    Хоть и был знаком со стеком ранее, но местами была новая инфа. Спасибо за годноту!

  • @Yury-Baranovskiy
    @Yury-Baranovskiy 9 หลายเดือนก่อน

    Спасибо за обучающий контент, таких видео мало

  • @user-oh2eo7bf5v
    @user-oh2eo7bf5v 2 ปีที่แล้ว

    Очень информативно и наглядно, спасибо!!

  • @mirage7596
    @mirage7596 7 หลายเดือนก่อน

    Лучший, обожаю смотреть твои ролики 👏😀

  • @igorm6585
    @igorm6585 5 หลายเดือนก่อน

    Самое классное объяснение! Огромное спасибо автору!

  • @pavelg9855
    @pavelg9855 2 ปีที่แล้ว +1

    Самый полезный ролик, соединяющий в цельную картину информацию из остальных, с самым маленьким количеством просмотров)

  • @realfootball338
    @realfootball338 2 ปีที่แล้ว +10

    Спасибо - я начинаю учить ассемблер для себя - я фронтенд с опытом 4 гола но реально захотел писать что то более сложное на C/++/Rust - и понимаю что для начала нужно понимать железо - твой канал в этом отчасти сильно помогает! Здоровья тебе !!!

    • @ilyakhi9246
      @ilyakhi9246 2 ปีที่แล้ว

      Иметь цельную картину мира - завсегда полезно. Понимание работы всяких наворотов в Java Script - колбэки, хоистинг, евент-лупы... - вот это вот всё гораздо легче усваивается, когда знаешь работу железа и компиляторов. Тогда вот эти вот приседания с асинхронностью и т.п. кажутся само собой разумеющимся.

  • @xgl3250
    @xgl3250 2 ปีที่แล้ว

    Спасибо большое. Я сам веб-разработчик, но захотелось углубиться в низкоуровневое программирование. Отличная подача материала, ни капли воды (как у многих), то есть все 15 минут полезной информации.

  • @phil2964
    @phil2964 2 ปีที่แล้ว

    Alex не останавливайся, твой контент супер 👍

  • @Oracule-bh5vy
    @Oracule-bh5vy 2 ปีที่แล้ว +6

    Поражает насколько хорошо Вы ознакомились с материалом. Буду ставить максимальное количество лайков. Ваши труды должны стать Достоянием.
    Где-то во Вселенной образуется чёрная дыра Если Вы не станете преподавателем

  • @rage8207
    @rage8207 2 ปีที่แล้ว

    о, первое видео которое я у тебя посмотрел, автор, даже перепроверил что смотрю, в какой-то момент показалось что твоего коллегу Winderton'а) спасибо за ролик, как раз дошёл до того момента в профессиональном росте, когда низкоуровневые механизмы становятся одновременно понятны и интересны, вдохновения и вагон чая!

  • @dartvolchannel1450
    @dartvolchannel1450 6 หลายเดือนก่อน

    Отличный видос, разобрался в работе стека❤

  • @alexzhelyapov3556
    @alexzhelyapov3556 ปีที่แล้ว

    Это лучшее объяснение, которое я встречал!

  • @annyonghoseyo9195
    @annyonghoseyo9195 2 ปีที่แล้ว +2

    ОМГ какой у тебя классный и полезный контент! прямо таки кладязь. Жаль только, что видео пока мало

  • @mrfriz
    @mrfriz 11 หลายเดือนก่อน

    Что за тигр этот лев?)
    Универ Синергия, специальность "Веб разработка", 1 курс, предмет "Теория программирования". Материал подан почти сухим текстом, без примеров.
    Пришёл на Ютуб, чтобы посмотреть что я вообще должен понять из материалов предмета. Огромное спасибо за подачу, оформление. Всё прекрасно до деталей: анимация, звуки, примеры, объяснение.

  • @alexsabyr
    @alexsabyr 3 หลายเดือนก่อน

    Спасибо, было интересно

  • @oleksandrdavydenko6343
    @oleksandrdavydenko6343 2 ปีที่แล้ว +1

    Круто! Спасибо!

  • @vesyalchok490
    @vesyalchok490 ปีที่แล้ว

    Отличное видео!
    Огромный лайкос)

  • @steplerstationery5231
    @steplerstationery5231 2 ปีที่แล้ว +2

    Воистину, да не умрет образовательный контент!!!

  • @s.a.3408
    @s.a.3408 2 ปีที่แล้ว +7

    Спасибо!
    За день просмотра твоего канала я получил столько же информации, сколько за 5 лет учебы в университете 😃👍

  • @simplechannel7859
    @simplechannel7859 2 ปีที่แล้ว

    Отличное видео!

  • @user-ho1kb8jh5w
    @user-ho1kb8jh5w ปีที่แล้ว

    Четко, спасибо)

  • @user-tj3vg4sz5n
    @user-tj3vg4sz5n 2 ปีที่แล้ว

    Видео - бомба! Я таким темпом с вами, того гляди, ассемблер выучу

  • @user-bf9ul9wv1d
    @user-bf9ul9wv1d 2 ปีที่แล้ว

    самое лучшие видео по стеку которое я видел

  • @user-th9cp4vl9h
    @user-th9cp4vl9h ปีที่แล้ว

    Классный контент бро подписка

  • @billlanc9461
    @billlanc9461 2 ปีที่แล้ว

    Просто огонь!

  • @mrcotofei4031
    @mrcotofei4031 2 ปีที่แล้ว

    Очень полезная и хорошо поданная информация

  • @kardanium
    @kardanium 2 ปีที่แล้ว +4

    Про стек ничего нового не узнал, но в варианте с регистром BP ниразу не встречался. Видимо это фишка интеловской архитектуры. Я просто знаю архитектуру ARM.
    У ARM Cortex-Mх два регистра SP, но один для режима ядра, другой для режима приложения. Это очень удобно при реализации операционной системы.
    Расскажите в следующем ролике о прерываниях, системных вызовах и диспетчеризации задач.

  • @Hytpu9
    @Hytpu9 2 ปีที่แล้ว +26

    Смотрю подряд все видео с самого начала публикации. Как же все грамотно структурировано, просто космос. Грустно что канал не самый популярный. Автор, возможно тебе стоит задуматься над выпуском своих видео на английском, тогда шанс взлететь увеличится, т.к. охват аудитории будет выше. Успехов!

  • @kazarovroman
    @kazarovroman 2 ปีที่แล้ว +9

    Спасибо. Пили такие видео еще!

  • @mariavladlife4429
    @mariavladlife4429 8 หลายเดือนก่อน

    большое спасибо 💜
    не ожидала, что в видео по стеку будет объяснено куда подгружаются функции, и как именно работает стек в связи с функциями 🤍 - до этого никак не могла понять, как это работает

    • @kotifnat
      @kotifnat 8 หลายเดือนก่อน

      Вы поняли как работает call команда? Просто когда он ее описывает говорит, что "при вызове call proc в стек записывается адрес возврата и стек поинтер переходит на указанный в call адрес (proc). Но потом при описании фреймов функции после вызова call SP стоит на месте

  • @mashamell0w
    @mashamell0w 11 หลายเดือนก่อน

    Очень круто!

  • @user-rl3rc6qq6y
    @user-rl3rc6qq6y 2 ปีที่แล้ว +1

    Круто!👍 Нужно ещё 99 раз посмотреть.

  • @crewcut7884
    @crewcut7884 2 ปีที่แล้ว

    Круто! Больше видео.

  • @MrSirus83
    @MrSirus83 2 ปีที่แล้ว

    Более подробно и толково

  • @dariastroeva6779
    @dariastroeva6779 ปีที่แล้ว +3

    Благодарю за работу! ♥

  • @notOnlyPython
    @notOnlyPython ปีที่แล้ว +2

    Фраза, нечего не понятно но очень интересно. Это именно про стек. Но если без шуток, это реально очень сложно. Я хочу в этом разобраться досконально. Спасибо!

    • @victoradamenja9032
      @victoradamenja9032 6 หลายเดือนก่อน

      На самом деле просто.
      Была такая программа debug.exe
      Сохранилась до win7 32. Она работала в dos. Это отладчик
      Там можно трассировать программу и смотреть состояние регистров.
      Вот в ней всё понятно.

  • @escapeplan4242
    @escapeplan4242 2 ปีที่แล้ว +8

    Нужно больше просмотров для этого канала!

  • @Legomegger
    @Legomegger 6 หลายเดือนก่อน

    Качественнейший контент

  • @user-pb6vw5nb8y
    @user-pb6vw5nb8y 2 ปีที่แล้ว

    Крутой контент, желаю удачи в продвижении канала!!! С меня лайк и подписка.

  • @mk-du2kd
    @mk-du2kd 9 หลายเดือนก่อน

    Wow, Просто МОЛОТ!

  • @klondike2009
    @klondike2009 2 ปีที่แล้ว

    Спасибо огромное!!!

  • @user-ut1ox6gy1d
    @user-ut1ox6gy1d 2 ปีที่แล้ว

    большое спасибо за контент. правильно. полезно. рекомендуется к изучению.

  • @user-gh3bs7xk1h
    @user-gh3bs7xk1h 2 ปีที่แล้ว

    спасибо тебе что это делаешь👍

  • @John_Smith_Java
    @John_Smith_Java ปีที่แล้ว

    Надо раз пять посмотреть, чтобы понять. Спасибо.

  • @Ruslan_Ishmuratov
    @Ruslan_Ishmuratov 2 ปีที่แล้ว

    Очень качественный контент

  • @hustrik4805
    @hustrik4805 2 ปีที่แล้ว +2

    хорошее видео продолжайте в том же духе но все же хотелось бы поживей немного ибо ваш голос слишком монотонный но сама суть поданного вами материала меня устраивает, лайк

  • @pingwinbl4773
    @pingwinbl4773 2 ปีที่แล้ว

    Великолепный ASMR!!!!

  • @glockholod5469
    @glockholod5469 2 ปีที่แล้ว +5

    Alek если не сложно , сними пожалуйста ролик , как на физическом уровне процессор обрабатывает команды , очень интересно

  • @mikhaildiesperov2345
    @mikhaildiesperov2345 ปีที่แล้ว

    Это мне архиважно для работы, но я понял, наверное, только треть. Думаю, надо пересматривать или искать похожую информацию, только другими словами. Спасибо за видео.

  • @yeu344
    @yeu344 ปีที่แล้ว

    Видео топ!

  • @dorin6880
    @dorin6880 2 ปีที่แล้ว

    супер, спасибо тебе

  • @bpospanov
    @bpospanov 7 หลายเดือนก่อน

    Спасибо, брат

  • @DmitriNesterov
    @DmitriNesterov 10 หลายเดือนก่อน

    Ничто так не мотивирует, как ненавязчивый звук шарика от пинг-понга! 🎉 Круть. Слышна заминка, когда стек пошёл затирать вектора прерываний ;) стек растёт с 1:50

  • @xp4ns
    @xp4ns 7 หลายเดือนก่อน

    Спасибо!

  • @artem7p124
    @artem7p124 2 ปีที่แล้ว +1

    Час ночи, сплю и пытаюсь думать
    Но не думается
    Офигенный контент!
    Спокойной ночи

  • @forfun8457
    @forfun8457 ปีที่แล้ว

    Крутяк😬

  • @r4l41
    @r4l41 2 ปีที่แล้ว

    Золото Ютуба!

  • @AleksandrOsadchy97
    @AleksandrOsadchy97 2 หลายเดือนก่อน +2

    Ничего не понятно но очень интересно

  • @serega0117
    @serega0117 2 ปีที่แล้ว

    Помню лет 20 назад когда писал что то на ассемблере все это знал. Теперь смотрю и глазами хлопаю))))))

  • @ogin6280
    @ogin6280 2 ปีที่แล้ว

    ух не понял но очень интересно. Мой уровень начальный. придётся рыть вопросы в сети. Здорово, есть от чего оттолкнутся.

  • @ekaradon
    @ekaradon 2 ปีที่แล้ว

    Слушать такое одно удовольстие

  • @frontcatbackend5148
    @frontcatbackend5148 ปีที่แล้ว +2

    Полезные у тебя видео. Было бы замечательно, если бы ты давал ссылки на литературу из которой ты это всё узнал. Спасибо!

    • @Artem-er3ie
      @Artem-er3ie ปีที่แล้ว

      Есть книга "Архитектура компьютера " , там всё по полочкам розложено,разложено больше)Можна чказать что она для сис админов, но лишней не юудет

  • @bbs2151
    @bbs2151 2 ปีที่แล้ว

    Лайк за визуализацию

  • @klondike2009
    @klondike2009 2 ปีที่แล้ว

    Ээээх, повстречался бы Ваш канал лет на 10 раньше ))) У вас в 10 минутах умещаются знания, до которых я месяцами доходил!

  • @user-to8dm8tv4g
    @user-to8dm8tv4g ปีที่แล้ว

    спасибо!

  • @user-ps6kz7vc2p
    @user-ps6kz7vc2p 2 ปีที่แล้ว

    Не умрет, старик. Смотрю Твои видосы все по очереди, ибо учусь ассемблеру для avr. И по урокам Харкорное Программирование Романа Звезжопадова. Лайк и коммент с меня.

  • @user-ue9xq7ou8k
    @user-ue9xq7ou8k 3 หลายเดือนก่อน

    Как говорится ничего не понятно, но очень интересно 😅. Подача класс

  • @vlados_981
    @vlados_981 ปีที่แล้ว

    Думал, что смогу просто посмотреть и понять сразу, но это не так. Пересмотрел видео, законспектировал и нарисовал схемки стеков и только так разобрался. Материал очень хорошо подан, продолжай в том же духе

    • @yura131314
      @yura131314 ปีที่แล้ว

      Думаю, что нужно пописать на ассемблере чтобы все понять до конца

    • @vlados_981
      @vlados_981 ปีที่แล้ว

      @@yura131314 абсолютно правы. Уже подружился за это время с ассемблером в рамках курса в универе

  • @prismo1975
    @prismo1975 ปีที่แล้ว

    4 день, 4 видео, 4 конспект на 6 листов а 4 (у меня размашистый почерк), и мозг находится где-то на уровне близкому к расплавлению ядра реактора, но мне почему-то это нравится. Спасибо за видео).

  • @proletarian
    @proletarian 2 ปีที่แล้ว

    Я джаваскриптизер, но начинал из микроконтроллеров (avr c), и считаю что мне это сильно помогло

  • @romankopylov5013
    @romankopylov5013 2 ปีที่แล้ว

    Эмэйзинг!
    Побольше бы такого контента!!!
    Просто супер!
    Хотелось бы увидеть видео про полный разбор JMM. Как там все устроено? Где хранится и что содержит пулКонстант, пулМетодов, без чего невозможна рефлексия?
    Это был бы мой любимый фильм😍😍😍

  • @dmitrymitrofanov3920
    @dmitrymitrofanov3920 2 ปีที่แล้ว

    самое сложное, из всех, что я посмотрел на канале(смотрю с начала по порядку)