Рубрика «C» - 2

Привет!

Полагаю, ты недавно узнал о существовании Школы 21 от Сбера и сейчас изучаешь все отзывы чтобы решить идти или не идти на интенсив. Один пишет, что интенсив это лучшее, что было в его жизни. Другой проклинает тот день, когда пошел учиться и теперь ненавидит Сбер, все банковские карточки разрежет и в Сбер никогда больше не пойдет. Ты уже в легкой панике, так как те немногие отзывы оставляют больше вопросов, чем ответов.

Что же делать?

Читать полностью »
D:РаботаПревью1.png

Сравнение оригинала Dangerous Dave с портом для NES/Dendy

Тема игр из детства до сих пор тревожит умы очень многих людей, а возможность реализовать свои фантазии в виде игры для любимой консоли вообще взрывает мозг (особенно в контексте игры, которую вы увидели на картинке ☺). И в этой статье я расскажу вам о своём опыте портирования Dangerous Dave in the Haunted Mansion для NES/Famicom/Dendy.

ПредисловиеЧитать полностью »

ВНИМАНИЕ!

Большая часть контента статьи представлена как комментарии в коде!

Введение

Изначально этот проект был всего лишь экспериментом с libffi и можно ли сделать с помощью него полноценный P2P RPC. Вроде бы получилось :-) И в здесь я попытаюсь рассказать что я сделал и какие у этого rpc особенности.

Особенности

Читать полностью »

Интернет вещей плотно вошел в нашу жизнь и используется повсеместно. Для меня же это возможность не только пользоваться, но еще и создавать разные умные устройства.

Да здравствует кастомный автозвук, или Мой DIY Bluetooth-пульт на основе ESP32 - 1

Меня зовут Евгений Глейзерман, я — Head of KasperskyOS IoT Protection Development в «Лаборатории Касперского». Отвечаю за различные IoT-продукты на собственной микроядерной операционной системе KasperskyOS: шлюзы, контроллеры, блоки телематики и т. д. А еще я иногда ковыряю устройства поменьше, на которые KasperskyOS пока установить нельзя. В данной статье хочу рассказать о своем хобби-проекте и поделиться возможностями esp-32 на примере DIY-девайса для автозвука: как я собрал пульт, регулирующий громкость по Bluetooth, взяв за основу популярный микроконтроллер.
Читать полностью »

Undefined behavior (UB) — боль, знакомая каждому разработчику со стажем; эдакий «код Шредингера», когда не знаешь, правильно тот работает или нет. К счастью, стандарты языка С++20/23/26 привнесли относительно неопределенного поведения кое-что новое. И довольно важное, если вы — архитектор ПО, а «плюсы» — ключевой стек вашей компании (подробнее о том, как и почему мы в «Лаборатории Касперского» много используем С++, читайте здесь).

В этой статье я со своих позиций Senior Software Architect и Security Champion в микроядерной операционной системе KasperskyOS рассмотрю кейсы-ловушки, в которые можно попасть практически в любом из стандартов, и покажу, что меняется в С++20/23/26, — уменьшается ли количество кейсов с неопределенным поведением, и становится ли С++ безопаснее.

Опасность устарела: несколько важных нюансов в новых стандартах C++ - 1
Читать полностью »

Редкий вид бага
Если спросить программиста, какие баги чаще всего можно встретить в C и C++ коде, он назовёт разыменование нулевого указателя, неопределённое поведение, выход за границу массива и другие, на его взгляд, типовые паттерны ошибок. Скорее всего, он назовёт и случайное присваивание в условии. Но действительно ли эта ошибка распространена в наше время?

Читать полностью »

Разработка игры Jim Power для 8-битной приставки: из первых рук - 1


Одно из моих главных увлечений в жизни — видеоигры, преимущественно старые. Я большой энтузиаст ретро-компьютеров и игровых консолей, много лет занимаюсь самыми разнообразными делами в этой области. Кто-то знает меня как разработчика игр, кто-то — как демосценера, кто-то — как чиптюн-музыканта, разработчика музыкального ПО, железных самоделок, и так далее.

Но далеко не все проекты и моя роль в них известны широкой публике. Пожалуй, один из самых интересных — версия игры Jim Power от Piko Interactive, созданная для 8-битной игровой консоли NES (Famicom, Денди). Я занимался им в 2014-2020 годах в качестве приглашённого разработчика.

И хотя это дела давно минувших дней — начинался проект две исторических эпохи назад — проекты такого калибра в своей нише до сих пор случаются не так уж часто. Настало время хотя бы в общих чертах рассказать историю этого проекта, одной из первых любительских разработок, попытавшихся замахнуться на уровень лучших коммерческих игр прошлого.

Если вы когда-либо хотели узнать, как и кем делаются современные игры для несовременных платформ, каким образом люди вообще приходят к этому — сейчас всё будет.Читать полностью »

image

В наше время, из-за санкций одноплатники стали стоить каких-то «конских» денег. Даже б/у RaspberryPi Zero стоит 2-3 тысячи рублей на барахолках, что, мягко скажем, не совсем лояльная цена для «самого дешевого одноплатного компьютера в мире». Конечно, Orange Pi Zero всё ещё можно купить в пределах 1.500-2.000 рублей, но как по мне и эта цена не слишком лояльна за те характеристики, который предлагает такой одноплатник. С другой стороны, Android-планшеты 10-летней давности продаются на барахолках по 100-300 рублей, что выглядит гораздо привлекательнее, причём на некоторые устройства практически без костылей можно установить полноценный дистрибутив Linux! Вероятно, многие читатели скажут мол «автор бомж» и будут правы: ведь в рамках этой статьи, я хочу рассказать о том, как использовать полурабочий древний планшет в качестве полноценного одноплатника путём подключения его к микроконтроллеру и выводу GPIO! Сегодня мы с вами: узнаем, как подключить микроконтроллер к шине UART в планшете и научимся работать с последовательной шиной в Android прямо из Java и нативных программ. Интересна моя концепция антикризисного одноплатника? Тогда добро пожаловать под кат!Читать полностью »

Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.

Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?

Читать полностью »

Проверка указателя перед вызовом функции free

Короткий ответ: нет. Тем не менее, раз про это вновь и вновь спрашивают на Reddit, Stack Overflow и других сайтах, пришло время подробно разобрать эту тему. Оказывается, есть много интересного, о чём можно порассуждать.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js