Host & DNS
Host & DNS
@HostDnsPro

С C++ снова та же старая проблема: алиасинг памяти. На практике это не «тонкость стандарта», а источник тихих

С C++ снова та же старая проблема: алиасинг памяти. На практике это не «тонкость стандарта», а источник тихих поломок, когда код выглядит корректно, а компилятор имеет полное право его переписать так, что результат станет мусором.

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

Особенно неприятно то, что рядом лежат другие undefined behavior, и они маскируют друг друга. В итоге расследование идёт не в код, а в туман. 🚨

Комитет по стандарту уже много лет пытается сузить эту мину, но окончательно вытащить её не выходит: обратная совместимость держит язык за горло. Для веб-инфраструктуры вывод простой — если в проде есть C++ и работа с буферами, бинарными протоколами или памятью «через cast», это не оптимизация, а зона риска.
Этот пост опубликован в Telegram-канале Host & DNS. Подписаться можно по ссылке: @HostDnsPro.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @dumay. Быстрый тест: $20 за канал, $1000 за пакет по сети.