Как устроена работа thread_local переменных: разбираемся и добавляем поддержку в учебную ОС

Эта статья написана по мотивам моей курсовой работы, основной смысл которой описан здесь. В процессе работы над ней мне понадобилось добавить в учебной ОС, над которой я работал, поддержку thread_local переменных, о чём я и хочу здесь рассказать в наде…

Пишем на С++ вектор, умеющий расширяться без копирования элементов

В языке С есть функции malloc, free и realloc. При использовании последней вы можете написать этакий расширяющийся массив из примитивных типов или структур (классов-то нет), который, можно надеяться, не будет копировать все данные при каждом расширении…

Как расширить возможности runtime KPHP

Всем доброго дня, уважаемые читатели. В данной статье вы узнаете как добавить новые функции в runtime KPHP, чтобы ими можно было пользоваться как ни в чём не бывало.Рассмотрим этапы сборки KPHP, реализациий функций, написание тестов.В качестве задачи -…

Инструментирование ассемблерного кода для сборки данных о динамическом покрытии

В этой статье я опишу методику инструментирования на основе промежуточного ассемблера которую использовал для создания иллюстраций к своей предыдущей статье. Данный метод в частности используется таким инструментом как LDRA, с которым мне&nbs…

[recovery mode] Port Knocking для Windows

Мне довольно часто приходится настраивать «одинокие» терминальные сервера(и не только терминальные) в «Облаках», с «легким, быстрым» доступом к нему по RDP.Все объяснения для пользователей\заказчиков, что такие сервера должны быть доступны только с дов…

[Перевод] Rust 1.65.0: GAT, let-else, break от помеченных блоков, отказ от RLS

Команда Rust рада сообщить о новой версии языка — 1.65.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.
Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновл…

Как я системным программистом не стал

Дело было в прошлом веке, в 89 (вроде не путаю) году. Я вдруг осознал, что ну вот совсем мне не хочется продолжать обучение в своём вузе. Неинтересно. Времена тогда были необычные, всё время появлялось что-нибудь новенькое. Вот и стал искать это самое …

Пошаговая GDB отладка ARM процессора из консоли в Win10

Иногда бывает ситуация когда надо срочно что-то пошагово отладить. При этом нет времени и желания ставить какие-то тяжелые IDE. В таких случаях может помочь пошаговая GDB отладка ARM Cortex M33 из командной строки Windows. В этом тексте я расписал поша…