Популярные статьи

Синтаксис си/с++

Перечисления: enum в C и enum class в C++

Введение Перечисления дают именованные, осмысленные альтернативы «магическим числам» — в этой статье разберём enum в его классическом, С-совместимом виде, и более современный, безопасный enum class C++11, устраняющий ряд…

Arduino

Активный/пассивный зуммер и многоцветные светодиодные модули (RGB, двухцветные)

Введение Звуковая и световая индикация — два разных по природе, но часто объединяемых в одном проекте способа обратной связи с пользователем: набор включает активный и пассивный зуммер (различающиеся…

Синтаксис си/с++

Стек и куча: где живут переменные, разница в скорости и времени жизни

Введение Ранее мы упоминали «автоматическое» время жизни локальных переменных и динамическую память — в этой статье соберём эти концепции в единую картину, явно разобрав два основных региона памяти,…

CUDA

Введение в CUDA: модель потоков, блоков и сеток (grid/block/thread) на простом примере

Введение CUDA — платформа параллельных вычислений от NVIDIA, позволяющая выполнять код на тысячах ядер GPU одновременно. В отличие от CPU с несколькими быстрыми ядрами, GPU состоит из множества…

Потоки и многопоточность

Таймеры QTimer в многопоточном окружении: подводные камни

Введение QTimer — один из самых часто используемых классов Qt, но его поведение в многопоточном контексте вызывает регулярную путаницу: таймер привязан к event loop конкретного потока, и попытка…

CUDA

Память в CUDA: global, shared, constant и registers — где что использовать

Введение Производительность CUDA-кода в значительной степени определяется тем, как эффективно используется память — у GPU есть несколько физически разных видов памяти с очень разной латентностью, объёмом и областью…

Arduino

ИК-пульт и ИК-приёмник: приём и декодирование команд

Введение ИК-приёмник (модуль на чипе VS1838/HX1838) в сочетании с прилагаемым в комплекте маленьким ИК-пультом — простой способ добавить беспроводное управление устройством без необходимости в более сложных Bluetooth/Wi-Fi модулях.…

Мультимедиа

Работа с метаданными медиафайлов: теги, обложки, длительность

Введение Помимо самого аудио/видеоконтента, медиафайлы обычно содержат метаданные — название трека, исполнителя, альбом, обложку, длительность — в этой статье разберём чтение этих метаданных через QMediaPlayer/QMediaMetaData, что необходимо для…