Если вы занимаетесь разработкой ПО в сфере видеоигровой индустрии и задаётесь вопросом о том, что ещё можно сделать, чтобы повысить качество продукта упростить процесс разработки, и при этом не используете статический анализ — самое время начать. Сомневаетесь? Что ж, я попробую вас в этом убедить. Если же вам просто интересно посмотреть на ошибки, которые допускают разработчики из сферы видеоигровой индустрии, то, опять же, вы попали по адресу — специально для вас отобраны наиболее интересные.
Читать полностью »
Рубрика «c++» - 92
Статический анализ в видеоигровой индустрии: топ-10 программных ошибок
2018-05-03 в 8:27, admin, рубрики: .net, C, C#, c++, CryEngine, DOOM, epic games, open source, pvs-studio, quake, static analysis, unity, Unreal Engine, x-ray engine, Xenko, Блог компании PVS-Studio, Программирование, разработка игрЦвет настроения Linux, цвет настроения Mac OS
2018-04-29 в 11:07, admin, рубрики: apple, c++, Cpp, itunes, linux, mac os, microsoft, uwp, vcpkg, библиотеки, Блог компании Microsoft, диспетчер библиотек, Разработка под Linux, разработка под windowsСтереотипы давно в прошлом. Сегодня Microsoft придерживается концепции «любой разработчик, любое приложение, любая платформа». Например, у нас есть специальные дистрибутивы Linux, рекомендованные для использования в облаке. Ну а о сотрудничестве с Apple знают, наверное, все. Сегодня расскажем вам о едином диспетчере библиотек C++ — vcpkg, который теперь стал доступен не только для Windows, но и для Linux и Mac OS. Заглядывайте под кат!
И всем крутых выходных!
Давайте заглянем SObjectizer-у под капот
2018-04-28 в 6:24, admin, рубрики: actor model, actors, c++, c++11, concurrency, open source, sobjectizer, ПрограммированиеПродолжаем знакомить читателей с открытым C++ным фреймворков под названием SObjectizer. Наш фреймворк упрощает разработку сложных многопоточных приложений за счет того, что C++программисту становятся доступны более высокоуровневые инструменты, позаимствованные из Модели Акторов, CSP и Publish-Subscribe. При этом, как бы высокопарно это не звучало, SObjectizer является одним из немногих открытых, живых и развивающихся акторных фреймворков для C++.
Мы уже посвятили SObjectizer-у более десятка статей на Хабре. Но все равно читатели жалуются на наличие «белых пятен» в понимании того, как SObjectizer работает и как взаимосвязаны между собой различные типы сущностей, которыми оперирует SObjectizer.
В этой статье мы попробуем заглянуть под капот SObjectizer-у и постараемся «на пальцах» и в картинках объяснить из чего он состоит и как, в общих чертах, он работает.
Читать полностью »
Про утечку памяти в одном серверном приложении
2018-04-27 в 5:44, admin, рубрики: c++, DTrace, free, freebsd, malloc, memory leak, umap, unmap, высокая производительность, отладка, Программирование, утечка памяти
Прочитав данную заметку вы узнаете, через что пришлось пройти после неожиданно возникшей утечки памяти серверного приложения в ОС FreeBSD. Какие современные средства обнаружения подобных проблем существуют в данной среде и почему самое мощное из них может оказаться совершенно бесполезным в кривых руках.
Читать полностью »
Что спрятано внутри онлайн-касс: разработка фискального регистратора
2018-04-26 в 11:52, admin, рубрики: buildroot, c++, ESC/P, protobuf, Python-ESCPOS, qt, встроенное по, Законодательство и IT-бизнес, онлайн-кассы, ОФД, Программирование, программирование электроники, Разработка систем передачи данных, разработка электроники
Мало кто задумывается, делая покупки в магазине, как работает техника кассира. На самом деле это хорошо отлаженный механизм не только с технической точки зрения, но и с точки зрения законодательства. Все знают, что главное получить чек, а вот почему чек является фискальным документом, подтверждающим покупку — в основном знают только сами предприниматели.
В этой статье мы поделимся опытом разработки кассового аппарата и расскажем, как там всё устроено изнутри.
Читать полностью »
Книга «С++17 STL. Стандартная библиотека шаблонов»
2018-04-26 в 11:33, admin, рубрики: c++, Блог компании Издательский дом «Питер», книги, Профессиональная литератураВ книге описана работа с контейнерами, алгоритмами, вспомогательными классами, лямбда-выражениями и другими интересными инструментами, которыми богат современный С++. Освоив материал, вы сможете коренным образом пересмотреть привычный подход к программированию. Преимущество издания — в подробном описании стандартной библиотеки шаблонов С++, STL. Ее свежая версия была выпущена в 2017 году. В книге вы найдете более 90 максимально реалистичных примеров, которые демонстрируют всю мощь STL. Многие из них станут базовыми кирпичиками для решения более универсальных задач. Вооружившись этой книгой, вы сможете эффективно использовать С++17 для создания высококачественного и высокопроизводительного ПО, применимого в различных отраслях.
Далее представлен отрывок «Лямбда-выражения».
Читать полностью »
Learn OpenGL. Урок 5.4 – Всенаправленные карты теней
2018-04-25 в 6:22, admin, рубрики: c++, cubemap, omnidirectional shadow mapping, OpenGL, opengl 3, pcf, percentage-close filtering, point shadows, shadow mapping, Программирование, разработка игр
Всенаправленные карты теней
В предыдущем уроке мы разобрались с созданием динамических проекционных теней. Эта техника отлично работает, но, увы, подходит она только для направленных источников света, поскольку карта теней создается в одном направлении, совпадающим с направлением источника. Именно поэтому данная техника также называется направленной картой теней, так как карта глубин (карта теней) создается именно вдоль направления действия источника света.
Данный же урок будет посвящён созданию динамических теней, проецирующихся во всех направлениях. Этот подход отлично подходит для работы с точечными источниками освещения, ведь они должны отбрасывать тени во всех направлениях сразу. Соответственно, данная техника называется всенаправленной картой теней.
Урок во многом опирается на материалы предыдущего урока, так что если вы еще не практиковались с обычными картами теней, стоит сделать это перед продолжением изучения этой статьи.
Как передать полиморфный объект в алгоритм STL
2018-04-24 в 10:58, admin, рубрики: c++, std::ref, Блог компании Инфопульс Украина, Компиляторы, ПрограммированиеКак мы можем прочесть в первой главе книги Effective C++, язык С++ является по сути своей объединением 4 разных частей:
- Процедурная часть, доставшаяся в наследство от языка С
- Объектно-ориентировання часть
- STL, пытающийся следовать функциональной парадигме
- Шаблоны
Эти четыре, по сути, подъязыка составляют то, что мы называем единым языком С++. Поскольку все они объединены в одном языке, то это даёт им возможность взаимодействовать. Это взаимодействие порой порождает интересные ситуации. Сегодня мы рассмотрим одну из них — взаимодействие объектно-ориентированной модели и STL. Оно может принимать разнообразные формы и в данной статье мы рассмотрим передачу полиморфных функциональных объектов в алгоритмы STL. Эти два мира не всегда хорошо контачат, но мы можем построить между ними достаточно неплохой мостик.
Датчики Холла для бесколлекторного двигателя: возвращение квадратурных энкодеров
2018-04-23 в 14:30, admin, рубрики: c++, stm32, ардуино головного мозга, Программирование, программирование микроконтроллеров, Разработка робототехникиЭто уже третья статья, рассказывающая о квадратурных декодерах, на сей раз с применением к управлению бесколлекторными двигателями.
- Статья первая: принцип работы квадратурного декодера + код для ардуино.
- Статья вторая: квадратурный декодер на stm32.
Задача: есть обычный китайский бесколлекторник, нужно его подключить к контроллеру Copley Controls 503. В отличие от копеечных коптерных контроллеров, 503й хочет сигнал с датчиков холла, которых на движке нет. Давайте разбираться, для чего нужны датчики и как их ставить.
Ликбез: принцип работы бесколлекторного двигателя
В качестве иллюстрации я возьму очень распространённый двигатель с двенадцатью катушками в статоре и четырнадцатью магнитами в роторе. Вариантов намотки и количества катушек/магнитов довольно много, но суть всегда остаётся одной и той же. Вот фотография моего экземпляра с двух сторон, отлично видны и катушки, и магниты в роторе:
Проверка исходного кода свободного графического редактора Krita 4.0
2018-04-23 в 12:39, admin, рубрики: c++, krita, open source, pvs-studio, Блог компании PVS-Studio, графические редакторы, графический дизайн, С++, статический анализНе так давно состоялся релиз новой версии свободного графического редактора Krita 4.0. Самое время проверить этот проект с помощью PVS-Studio.