Как понять vtables на самом деле

02.08.2026 · 5 мин

Можно спросить у ИИ, как устроены vtables в x86. Он выдаст ответ, который звучит правдоподобно. Но он не покажет, как vtables выглядят на самом деле в Windows, почему method dispatch ведёт себя именно так на уровне инструкций и что сломается, если отклониться от конвенции.

The Art of 64-Bit Assembly, Volume 2 — это книга не для тех, кто только начинает знакомиться с ассемблером. Она для тех, кто уже пишет код и хочет перестать принимать high-level концепции на веру.

УРОВЕНЬ ПОНИМАНИЯ
─────────────────
Верх    ──►  "ИИ объясняет vtables"
           ──►  Книга по ассемблеру для начинающих
           ──►  Randall Hyde, Volume 2
Низ     ──►  Реальный код под отладчиком
Каждый шаг вниз — это пропасть в понимании

Кто это читает

Автор Рэндалл Хайд пишет ассемблер для медицинских устройств и ядерных систем. Там нет места формуле «работает вроде». Там либо правильно, либо всё ломается.

Он преподавал ассемблер в университете и написал The Art of Assembly Language, The Art of ARM Assembly и серию Write Great Code. Это человек, который явно не из мира «напишу книгу и свалю».

Книга выходит в июне 2026 года, в ней 792 страницы, ISBN — 9781718504349.

Что внутри

Каждая глава берёт high-level концепцию и разбирает её до уровня инструкций:

ОТ ИНСТРУКЦИИ — К КОНЦЕПЦИИ
────────────────────────────
Внутри        ┌─────────────────────────────────┐
 MASM ──────► │  vtables, closures, coroutines  │
(глава 6-11)  └─────────────────────────────────┘
              Снаружи
              C++ / Python / Rust
Книга идёт обратным путём — от машинного кода к концепциям

Чем полезна

Это не книга «просто интересно». Она полезна в конкретных случаях:

Когда не стоит брать

Честно: книга не для всех.

Вывод

Если вы уже пишете на x86-64 и high-level конструкции в ваших языках остаются чёрным ящиком, эта книга поможет вскрыть крышку.

Не потому что ассемблер «крут» или «нужен». А потому что понимание того, как вещи работают на самом деле, отличает инженера от копипастера.

Ссылки

Дмитрий Полухин — продуктовый дизайнер. Пишу про разработку, AI и дизайн интерфейсов. Обо мне, контакты и профили.