19. Процедурное программирование. Функции и стекфрейм. Часть 1 [Универсальный программист]

preview_player
Показать описание
#программирование #стек #stack #stackframe
Сегодня вы узнаете, что такое вызовы функций, рекурсия, стек и кадр стека, фрейм пойнтер, пролог и эпилог, трассировка стека, соглашение о вызовах, инъекция кода и стековая канарейка.

или переведя любую сумму на карту: 5536 9140 0276 0019
или Bitcoin: 3Cb8Jb8cZNeiMx1saUPfb2JxBwQRYYbuGF

Тайминги:
00:00 Зачем нужны подпрограммы
01:05 Процедуры в Pascal
01:33 Параметры и аргументы
01:58 Как происходит вызов
02:23 Опциональные параметры
02:54 Функции в Pascal
03:11 Сигнатура функции
03:51 Функции в C-подобных языках
04:34 Функции в Rust
04:57 Unit как аналог void
05:14 Задача
06:15 Never type в Rust
07:31 Рекурсия
08:38 Подробнее, как происходит вызов функции
11:13 Стек
13:21 Стекфрейм
17:19 Фрейм-пойнтер
19:05 Фрейм-пойнтер не нужен
19:27 Пролог и эпилог
20:09 Динамический стекфрейм
21:42 Стек в других архитектурах
22:27 Соглашения о вызовах
24:33 Инъекция кода
25:45 Стековая канарейка
26:26 Альтернативы канарейке
26:54 Финал
Рекомендации по теме
Комментарии
Автор

или переведя любую сумму на карту: 5536 9140 0276 0019
или Bitcoin:

Uni-Coder