Рубрика «C» - 5
Жгём-шьём контроллеры и кормим ядерную подсветку
2025-04-18 в 5:10, admin, рубрики: ambilight, C, c++, DIY, oled, stm32, ws2812b, осциллограф, подсветка, светодиоды
Основы inline ассемблера для С в Visual Studio (MSVC compiler) x86 компиляции для Windows
2025-03-27 в 8:15, admin, рубрики: C, GNU, inline assembler, masm, masm32, MSVC, Visual Studio, windows, x86[Hello, Habr!] Змейка в консоли. Разбираемся с с make и gcc
2025-03-12 в 11:43, admin, рубрики: C, makefile, игра в терминалеВсем привет! Это моя первая публикация на Хабре и я решил посвятить её тому, как я писал змейку в консоли (да коряво, но всё же).
Итак, зачем я её вообще затеял? Я просто хотел разобраться как работать с make и gcc и для примера решил написать змейку в консоли ¯_(ツ)_/¯
Я написал самый обыкновенный makefile, в подробности его устройства вникать не будем. Просто покажу код:
Makefile
Как malloc() и free() управляют памятью в C
2025-03-08 в 17:11, admin, рубрики: C, кастомный аллокатор, управление памятьюПривет!
Сегодня рассмотрим, почему free() не всегда освобождает память, как работает malloc(), когда glibc действительно возвращает память в ОС, и как избежать фрагментации хипа. А так же напишем кастомный аллокатор.
malloc
Вызываете malloc(42), думаете, что получили 42 байта и живёте счастливо. Но всё гораздо сложнее. malloc() — это не просто «дай мне N байтов», а целая система управления памятью, которая старается минимизировать фрагментацию, уменьшить системные вызовы и ускорить выделение памяти.
malloc(size_t size) — это стандартная функция из Читать полностью »
MicroPython на STM32F4xx на собственной печатной плате. Ч.1. Погружение в MicroPython и его возможности
2025-03-01 в 13:15, admin, рубрики: C, c++, circuitpython, micropython, python
Добрый день, друзья!
Это моя первая статья на Хабр да и вообще где-либо поэтому жду от вас полезных комментариев для заполнения пробелов в своих навыках и знаниях. В этой статье попытаюсь подробно указать/рассказать, как я запустил MicroPython на микроконтроллере Читать полностью »
Очумелые ручки: как я превратил старый смартфон в игровую консоль с возможностью звонить
2025-02-22 в 14:05, admin, рубрики: bodyawm_ништячки, C, DIY, esp32, timeweb_статьи, гаджеты, игровые консоли, игры, Программирование, смартфоныОсторожно: эта статья точно будет хабратортной, ведь в ней мы смоделируем, спроектируем и запрограммируем своё видение N-Gage 2! Я очень старался сделать статью интересной даже для тех читателей, кто не разбирается в теме 3D-печати и программирования микроконтроллеров :-)
История C и C++. Часть вторая: стандартизация C и C++, Qt, Clang, Unreal Engine
2025-02-18 в 7:43, admin, рубрики: C, c++, c++11, c++17, C++20, c++23, clang, cmake, qt, Unreal EngineВторая часть истории о том, как C и C++ стали такими, какими мы их знаем сегодня. Здесь расскажем об официальной сертификации C и C++, а также о вышедших инструментах в период с 1991 года и до наших дней.

1994 — Разработка языка с видом от первого лица
Пишем простой драйвер на Rust
2025-02-16 в 9:01, admin, рубрики: C, c++, Rust, ruvds_перевод, wdk, windows, драйверы, Программирование
Популярность Rust неуклонно растёт, а с ней и сопутствующая экосистема. И оно не удивительно, ведь это единственный современный язык, который обеспечивает безопасность памяти и многопоточной обработки на этапе компиляции, предоставляя мощную и богатую систему сборки (cargo), а также всё больше различных пакетов (крейтов).
В своей повседневной работе я по-прежнему придерживаюсь C++, так как основная её часть связана с низкоуровневым программированием систем и ядра, а из этого языка легко задействовать написанный на С Windows API и COM API.
Rust — это язык для системного программирования, то есть он может справляться с теми же задачами, что и C/C++. Основное неудобство при этом создаёт громоздкий синтаксис, необходимый для преобразования типов С в типы Rust. Но это неудобство можно преодолеть, используя подобающие обёртки и макросы.
Короче говоря, я решил попробовать написать простой и полезный драйвер WDM. Это будет Rust-версия драйвера «Booster», о котором я пишу в своей книге (Windows Kernel Programming), позволяющего изменять приоритет любого потока на любое значение.Читать полностью »
Биперная музыка на Arduino
2025-02-13 в 13:01, admin, рубрики: 1bit, arduino, beeper, C, PWM, ruvds_статьи, Z80, Zilog Z80, zx spectrum, ассемблер, бипер, видеоигры, музыка, спектрум, узч, усилитель, усилитель звуковой частоты, чиптюн, электроника, Электроника для начинающих, электроника своими руками
Любимый отечественными энтузиастами компьютерной ретро-техники компьютер «Синклер» ZX Spectrum родом из начала 1980-х годов — восьмибитный. Любимый самодельщиками нынешнего тысячелетия Arduino родом из середины 2000-х годов — тоже восьмибитный. Они похожи, но такие разные. Сегодня попробуем навести мостик между этими мирами, преодолеть пропасть в два десятка лет, и заставить два разных устройства проиграть одни и те же мелодии.
В этой статье сплетаются сразу три темы: как устроены некоторые музыкальные полифонические процедуры на ZX Spectrum, как воспроизвести результат их работы в совершенно иной реализации на Arduino, а заодно немного электроники для начинающих — рассуждения на тему, как можно правильно или неправильно подключить динамик для вывода звука к этой самой Ардуине.Читать полностью »
