SSIGSEGV DREC

SIGSEGV DREC

@segfault_drec💻 Технологии🇬🇧 English📅 март 2026 г.

Yandex Disk: https://disk.yandex.ru/d/6xk2ubKoZq0MYw

📊 Полная статистика📝 Все посты
🔗 Связанные:@cpp_lects_rus
##092#39#036#compiler#llvm#book#linux#python
747
Подписчики
1.0K
Ср. охват
138.8%
Вовлечённость
15
Постов
~0.1
В день

Графики

📊 Средний охват постов

📉 ERR % по дням

📋 Публикации по дням

📎 Типы контента

Лучшие публикации

15 из 15
Ssegfault_drec
segfault_drec
19 апр., 18:34

[Doc] FreeCAD Scripting Почти всё, что делается в FreeCAD, может инициироваться из Python-кода. Там далеко не худший скриптинг, который я видел в своей жизни. Поэтому сгенерируем кейкапы для моей клавиатуры... Пока только пробный образец. Файл будет в комментариях. 0️⃣Не забываем включить консоль в настройках как в доке; 1️⃣Попробуем поменять букву на кейкапе, сохранить, экспортировать, играемся; 2️⃣Меняем букву на тексте: FreeCAD.ActiveDocument.getObject("ShapeString").String="A" 3️⃣Пересчитыва...

👁 2.4K📷 photo
Ssegfault_drec
segfault_drec
12 апр., 12:46

Оптимизирующие компиляторы. Структура и алгоритмы Не так давно собрался с силами и дочитал книгу Константина Владимирова (@cpp_lects_rus), которая не похожа ни на что из того, что я ранее пытался читать по данной тематике. Я, конечно, совсем не эксперт в данной тематике... Но как читатель (ученик) вполне могу типичный. Что мне понравилось: 1️⃣ Основная часть повествования посвящена оптимизациям, как и заявлено. И генерации машинного кода, конечно. И только 1 глава из 7 рассматривает общие вопрос...

👁 1.9K
Ssegfault_drec
segfault_drec
10 июл., 21:41

SiPEED Tang Nano 4K + Nix Есть у меня отличная детская ПЛИСина от GOWIN. Есть пара статей по работе с ним с помощью открытых инструментов, всё описано в репке. Оттуда стащим examples/blinky.v и examples/tangnano4k.cst для простоты и краткости. Также не так давно близко ознакомился с такой отличной системой как Nix. Принципиально она решает только проблему dependency hell. Поэтому просто соберём образ для платы с её помощью. Для этого возьмём из readme.md и examples/Makefile необходимые макросы (...

👁 1.8K
Ssegfault_drec
segfault_drec
5 апр., 19:29

Raspberry Pi 5 + Arch Linux ARM У меня есть плата и есть свободное (для неё) время. Почему бы не поставить туда рач? Тем более есть гайд. И, в общем-то, гайд такой... Костыльный. Не хотел бы я так делать. Поэтому вот другой костыльный гайд: 1️⃣ Делим диск на два раздела — 0.25-1G под загрузочные дела (обязательно помечаем как загрузочный!) и остальное по своему усмотрению (приличные раздолбаи оставляют всё под один раздел). Монтируем их в root и boot; 2️⃣ Загружаем сборку и пакет с rpi-специфичн...

👁 1.5K
Ssegfault_drec
segfault_drec
24 мар., 20:22

Немного ультранасилия Последний пункт задания Clang Internals, написанного мной в несколько функциональном стиле (смотрите строго с широкого монитора). import clang.cindex import sys for node in filter(lambda n : n.spelling == "fisting", filter(lambda n : n.kind.is_declaration(), clang.cindex.Index.create() .parse(None, sys.argv) .cursor.walk_preorder() ) ): print(f"'fisting' found on {node.location.file}:{node.location.line}:{node.location.column}") Немного переусложнил, но суть такова: 1. Парс...

👁 1.3K
Ssegfault_drec
segfault_drec
24 мар., 18:47

tidy fisting Следующая ступень в поиске фистинга — проверка в clang-tidy. Очень неприятно было собирать clang-tools-extra (на ноутбуке неприлично тяжело). Безотлагательно приступаем! Проверку добавляем скриптом: ./clang-tools-extra/clang-tidy/add_new_check.py misc fisting Здесь в качестве категории проверок была выбрана категория misc, которая соответствует проверкам без категории. Будет создано несколько файлов и изменена пара существующих. Нас интересует только clang-tools-extra/clang-tidy/mis...

👁 1.1K
Ssegfault_drec
segfault_drec
23 мар., 22:44

butt plugin Следующим шагом преисполнения в познании стоит разработка плагина для clang. Почти всё взято отсюда, поэтому проще сказать об отличиях. Начинаем начинать! Для плагинов есть свой список (вероятно, так стоит переводить registry), добавим в него наш плагин. static clang::FrontendPluginRegistry::Add<FistingAction> FistingPlugin("fisting", "Find fisting for 300&#036; in code."); При этом FistingAction почти не отличается от оригинала, разве что наследуется от другого базового класса и дол...

👁 1.0K
Ssegfault_drec
segfault_drec
16 мар., 20:15

Это мэтч Следующим шагом в задании было написание того же на ast_matchers. Для упрощения своей жизни я предварительно проверил работу в clang-query и получил запрос: match namedDecl(hasName("fisting")) Примерно то же самое делает и MatchFinder int main(int argc, const char **argv) { // ... command line processing ... clang::ast_matchers::DeclarationMatcher fistingMatcher = clang::ast_matchers::namedDecl(clang::ast_matchers::hasName("fisting")) .bind("fistingId"); FistingPrinter printer; clang::a...

👁 915
Ssegfault_drec
segfault_drec
15 мар., 17:46

Его темнейшество На лекции по Clang internals было задание проверки принадлежности идентификаторов к словарю (под это ещё была забавная легенда). Первым этапом была реализация с помощью Visitor и LibTooling. А я решил сделать более простую (и гачимучную) задачу. Простенькая обработка опций и запуск действия на фронтенде: int main(int argc, const char **argv) { auto expectedParser = clang::tooling::CommonOptionsParser::create( argc, argv, ....); if (!expectedParser) { llvm::errs() << expectedPars...

👁 880
Ssegfault_drec
segfault_drec
13 мар., 12:40

Такие себе инженерные решения Копаясь в LLVM, нашёл в clang/doc/LibTooling.rst строку в глобальном scope: static cl::extrahelp CommonHelp(CommonOptionsParser::HelpMessage); И это выглядит очень странно: как-то неявно связанное с... Чем-то глобальным. Так оно в целом и есть. Посмотрим на сам класс: struct extrahelp { StringRef morehelp; explicit extrahelp(StringRef help); }; extrahelp::extrahelp(StringRef Help) : morehelp(Help) { GlobalParser->MoreHelp.push_back(Help); } То есть фактически здесь ...

👁 820

Типы хуков

Нейтральный12 | 973 просм.
Статистика3 | 1.3K просм.

Длина постов

Очень длинные (1000+)10 | 1.3K просм.
Длинные (500-1000)2 | 1.0K просм.
Короткие (<200)2 | 0 просм.
Средние (200-500)1 | 783 просм.

Типы контента

📷
1
photo
2.4K просм.
📝
14
text
942 просм.
SIGSEGV DREC (@segfault_drec) — Telegram-канал | PostSniper