Обновить
256K+

C++ *

Типизированный язык программирования

442,28
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

История разработчиков коммерческой системы видеосвязи Video Union, путь 2013 — 2022

Время на прочтение7 мин
Охват и читатели3.9K

В 2022 году существенно вырос спрос на отечественный софт, в первую очередь заменяющий зарубежные решения. Вопрос замены ПО до сих пор остро стоит во многих компаниях и государственных структурах, особенно после ухода из России зарубежных вендоров и организаций, предоставляющих удобные сервисы для коммуникации. В сегодняшнем интервью поговорим с Сергеем Выборновым @serg52 — одним из основателей системы видеоконференций Video Union и одним из совладельцев этого проекта. Video Union стал одним из вариантов на замену популярных в России сервисов Zoom и Microsoft Teams, постепенно прекращающих бизнес в РФ. Сергей расскажет историю сервиса, интересные и неочевидные моменты развития проекта и как на Video Union повлияла ситуация в мире.

Читать далее

Кастомный аллокатор для закрытого 3rd

Время на прочтение2 мин
Охват и читатели2K

Существует ряд ситуаций, когда это имеет смысл. От полного контроля памяти, до вынужденной необходимости. К примеру, одна из возможных ситуаций:
1. Мы используем alignment аллокаторы.
2. Мы перегружаем какой-то класс и данные от нашей 3rd зависимости.
3. 3rd зависимость не использует alignment аллокаторы.

Читать далее

Пишем мультиметоды из Lisp в С++

Время на прочтение7 мин
Охват и читатели4.8K


В статье разберёмся что такое мультидиспетчеризация и как её можно воссоздать на С++

Читать далее

Полиморфные структуры данных и производительность

Время на прочтение5 мин
Охват и читатели7.9K

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

Читать далее

Как настроить библиотеку SFML в Visual Studio динамическая компоновка

Время на прочтение2 мин
Охват и читатели82K

Следующая тема

В этой статье объясняется, как настроить ваши проекты SFML с динамической компоновкой, если Вы используете интегрированную среду разработки программного обеспечения Visual Studio (компилятор Visual Studio С++).

Читать далее

Превью профессии «говорящий с нейросетями»

Время на прочтение2 мин
Охват и читатели41K

Все уже слышали, что openAI выпустили в свет свою новую нейросеть-ассистента, так что я решил попробовать на что она способна и описать свой опыт взаимодействия с этим.. Этой... Сущностью.

Разговор будет вестись как с человеком в вежливой форме, так как оказалось, что нейросеть очень хорошо запоминает = )

Начнём с чего-то простого, попросим сгенерировать на языке CMake простую программу

Читать далее

Как устроена работа thread_local переменных: разбираемся и добавляем поддержку в учебную ОС

Время на прочтение6 мин
Охват и читатели16K

Эта статья написана по мотивам моей курсовой работы, основной смысл которой описан здесь. В процессе работы над ней мне понадобилось добавить в учебной ОС, над которой я работал, поддержку thread_local переменных, о чём я и хочу здесь рассказать в надежде что кому-то это окажется полезно.

Здесь рассмотрен совсем простой случай: поддержки динамической загрузки других бинарников не будет, а способ реализации рассмотрен только один.

Код расположен в двух репозиториях.

Читать далее

Алгоритм распознания арифметических выражений

Время на прочтение14 мин
Охват и читатели9.3K

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

Читать далее

Пишем на С++ вектор, умеющий расширяться без копирования элементов

Время на прочтение9 мин
Охват и читатели30K

В языке С есть функции malloc, free и realloc. При использовании последней вы можете написать этакий расширяющийся массив из примитивных типов или структур (классов-то нет), который, можно надеяться, не будет копировать все данные при каждом расширении. В С++ есть встроенный класс vector, который представляет из себя расщиряющийся массив, но он так не умеет: при каждом расширении вектора выделяется новый участок памяти и все элементы перемещаются на него (по возможности, с использованием move-семантики). Но ведь, если можно каждый раз не копировать все старые элементы на новое место, вектор должен работать быстрее? В этой статье я попробую написать вектор, который умеет расширяться без копирования элементов.

Код приведён здесь.

Сначала я покажу, что стандартный вектор не умеет расширяться без копирования/перемещения, потом обсужу придуманное решение, потом собственно приведу реализацию вектора, а в конце сравню производительность со стандартным вектором.

Читать далее

[Pet] Двумерная симуляция взаимодействия небесных тел на C++

Время на прочтение6 мин
Охват и читатели9.3K

Здравствуй, мир!

Это моя принципиально новая симуляция планет с нескучными обоями, и просто маленькая победа над c++ и физикой тоже.

Больше

Создаём сложные интерфейсы и спецэффекты на базе Qt. Часть II

Время на прочтение25 мин
Охват и читатели27K

Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой desktop-версии в команде VK Teams. В первой части я рассказывал о том, как использовать маски и создавать сложные многослойные окна. Под катом этой статьи мы продолжим исследовать возможности Qt Framework, рассмотрим полупрозрачность и управление буксировкой окна, а также реализуем интересный спецэффект. В конце статьи рассмотрим, как можно применить на практике весь, изложенный в этом цикле статей, материал для создания современного демонстрационного приложения.

Читать далее

Как расширить возможности runtime KPHP

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели2.9K

Всем доброго дня, уважаемые читатели. В данной статье вы узнаете как добавить новые функции в runtime KPHP, чтобы ими можно было пользоваться как ни в чём не бывало.

В качестве задачи - добавления функций для парсинга файлов и строк в формате env.

Рассмотрим этапы сборки KPHP, реализациий функций, написание тестов.

Читать далее

Ближайшие события

Компилируем C++ приложение для запуска в браузере

Время на прочтение4 мин
Охват и читатели2.4K

У фреймворка Android есть небольшой инструмент под названием validatekeymaps.
Это утилита для проверки синтаксиса конфигурационных файлов устройств
ввода (*.kl, *.kcm, *.idc или virtualkeys.*). В документации
предлагается собрать её самостоятельно: скачать исходники Android,
установить необходимую систему сборки и т.д. И это в почти 2023. Неужели
нельзя сделать это в вэбе, чтоб без заморочек и удобно для
пользователя? Спойлер: можно. Этим и займёмся.

Читать далее

Зачем писать на C++ в 2022 году?

Время на прочтение10 мин
Охват и читатели93K

C++ — это язык программирования, основы которого были заложены более 40 лет назад, но который по-прежнему повсеместен. В этой статье мы с вами разберемся, где и почему он используется, и порассуждаем, есть ли у него будущее.

Читать далее

Геометрические фигуры мультимедийной библиотеки SFML для разработки игр на C++

Время на прочтение3 мин
Охват и читатели21K

Перед тем как приступить к рассмотрению темы, геометрические фигуры, разберём каркас программы на С++, которая использует библиотеку SFML.

Для работы с кодом мы будем использовать Visual Studio 2022 и библиотеку SFML. Как подключить библиотеку SFML к Visual Studio 2022 вы можете узнать посмотрев видео инструкцию "Подключение библиотеки SFML C++"

Читать далее

Пишу фреймворк LDL на С++ с поддержкой старых систем

Время на прочтение6 мин
Охват и читатели6.8K

Приветствую хабравчане!

Рассказываю как разрабатываю аналог библиотеки SDL2 на С++ под лицензией boost. Мемы присутствуют:)

Loading

Как оценить реальную производительность своего кода

Время на прочтение9 мин
Охват и читатели16K

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

Продолжение серии статей про работу исключений в С++ «под капотом»

Время на прочтение3 мин
Охват и читатели3.8K

Когда я работал над своей курсовой про то, как передавать С++ исключения из ядра ОС пользовательским программам, я изучал, как работают исключения в С++ и в этом мне очень помогла эта серия статей с Хабра. Теперь я хочу дополнить некоторые мометны, которые недостают в этой серии статей.

Читать далее

Мульти-поточная загрузка и выгрузка текстур в OpenGL C++

Время на прочтение7 мин
Охват и читатели7.1K

Я в течение полугода собирал по крупицам информацию о том каким образом реализовать не тормозящую основной тред рендера загрузку текстур. Абсолютно необходимая фича для проектов, где необходимо на лету подгружать и выгружать текстуры, например, при генерации бесконечно большого открытого мира. В результате получился следующий рецепт...

Читать далее