Рубрика «c++» - 10

Всем привет! У платформы МТС Exolve есть сообщество, которое часто делится полезными гайдами от прокачки серверов до создания своих приложений. Наиболее интересные и подробные продолжаем размещать в нашем хабе.

Напомним, ESP8266 — это популярный микроконтроллер с поддержкой Wi-Fi, который широко используется в проектах Интернета вещей (IoT). Продолжим изучение возможностей интеграции API Exolve для ESP8266 благодаря Читать полностью »

Не так давно МЦСТ опубликовали кросскомпилятор для Эльбрусов. Это действительно важное событие в развитии платформы. Теперь для разработки под e2k не нужен ни свой Эльбрус, ни даже доступ к серверу на нем.

Для справки, кросскомпиляция — компиляция, при которой компилятор создает код для платформы, отличной от хостовой. Это удобно, так как процесс компиляции можно проводить на любом компьютере, а не только на устройстве с целевой архитектурой. В плане Эльбруса это позволяет проверять компилируемость вашего кода под e2k, добавлять сборку в свои ci/cd пайплайны, публиковать артефакты и релизы, не покупая свой сервер.

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

  • В std::move никто никуда не двигается

  • В undefined behavior поведение вполне себе определено, просто крашит игру

  • В GameObject нет ни игры ни объекта, а только баги и куча антипаттернов

  • Memory leak detector сам протекает

  • В PhysicsEngine физики столько же, сколько в сказке про Колобка

  • Из 8 часов работы 6 уходят на попытку собрать билд после мержа со стейблом.

  • В ProfileMode тормозит всё кроме профайлера

  • В retrospective meeting обсуждают, почему всё плохо, но оставляют как есть.

  • В debug билде багов меньше чем в релизном и выше фпс


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

Привет! Меня зовут Кирилл Колодяжный, я работаю в YADRO и продолжаю изучать машинное обучение на С++. Я уже писал, как реализовать модели для распознавания лиц на фото и для поиска объекта в пространстве с помощью computer vision. Ссылки на материалы ищите в конце статьи.

Сегодня затрону «математическую» тему и расскажу о реализации сверток: что это за операция и какие есть алгоритмы для вычисления. Приведу простые примеры с кодом, чтобы вы могли опробовать решения.

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

C++ шаблоны — мощный инструмент, но работать с ними бывает больно: многословные ошибки, путаница с типами и enable_if, который все усложняет. Concepts в C++20 появились, чтобы упростить жизнь разработчикам и сделать шаблонный код понятнее. В этой статье — разбор конкретного кейса: как с помощью концептов задать корректные ограничения на контейнеры, избежать ловушек с массивами и получить внятные ошибки от компилятора.


Введение

Qt Quick и QML - мощные инструменты для создания графических интерфейсов. Но многообразие способов, которыми можно это сделать, может сбить с толку. В этой статье я постараюсь систематизировать информацию о всех, известных мне способах создания пользовательских компонентов в QML на примере круга.

Также одним из условий будет, чтобы внешний вид полученных элементов можно было редактировать в QtCreator.

Все исходники в репозитории.

Критерии сравнения

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

Построение множества Мандельброта — классический пример чрезвычайно параллельной задачи (embarrassingly parallel problem).

Вначале мы разберем наивную реализацию, поиграемся с интринсиками (intrinsics) и, не теряя переносимости, заставим компилятор генерировать нам SIMD-инструкции. Далее добавим многопоточность и в заключение обесценим все наши старания несколькими строчками на CUDA.

Разгон Мандельброта: SIMD с бубнами, OpenMP и CUDA - 1

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

Воу-воу, Джонни, убери пушку! Я могу всё объяснить! В предыдущей статье про std::array мы подробно рассматривали, почему в production-ready коде он ведёт себя так же производительно, как и встроенный массив, а не медленнее, как иногда думают некоторые люди.

После написания такой статьи невольно появляется вопрос: а может ли наш добродушный сосед std::array быть даже быстрее своего дедушки времён C? Согласитесь, иногда приятно предаться вольнодумству и посмотреть, куда тебя это заведёт. Давайте сделаем это! Чем мы, в конце концов, рискуем? Не рейдом же плюсовой инквизиции!

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

20 лет работы над одним продуктом - 1


В феврале 2005 я выпустил первую версию своей программы PerfectTablePlan, предназначенной для планирования рассадки гостей за столами. В этом месяце ей стукнуло уже 20 лет. Тогда это был другой мир, мир Windows, условно-бесплатного ПО и CD-дисков. С тех пор очень многое изменилось, но PerfectTablePlan на сегодня уже достигла версии 7 и чувствует себя уверенно.Читать полностью »


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