fa
Feedback
Библиотека C/C++ разработчика

Библиотека C/C++ разработчика

رفتن به کانال در Telegram

Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter

نمایش بیشتر
7 224
مشترکین
-324 ساعت
-167 روز
-3930 روز
آرشیو پست ها
Любителям x86-64 assembler посвящается: DIY волокна в C++ Нас ждёт мозговыносящая смесь 64/32-битного ассемблера и старого-до
Любителям x86-64 assembler посвящается: DIY волокна в C++ Нас ждёт мозговыносящая смесь 64/32-битного ассемблера и старого-доброго C++. Мы сделаем собственную реализацию... Волокон (fibers) без вызова Win API и звонков в службу спасения. https://habr.com/ru/articles/908406/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

Как я написал эмулятор Nintendo Gameboy на C++ за две недели Расскажу, как устроена архитектура консоли Nintendo Gameboy, как
Как я написал эмулятор Nintendo Gameboy на C++ за две недели Расскажу, как устроена архитектура консоли Nintendo Gameboy, как можно эмулировать её основные компоненты, какие решения я принимал в процессе разработки и какие инструменты использовал. В свободное время, (прим., во время отпуска) я бывает берусь за какие-нибудь небольшие проекты не связанные с моей основной деятельностью. В этот раз решил создать эмулятор консоли. Вопреки моде на Rust, взял проверенный годами C++. Эмуляция — непростая задача. Производители редко публикуют полные спецификации аппаратной части, поэтому сообщество занимается восстановлением поведения системы по косвенным признакам и тестированию. Полное решение таких задач требует больше времени, чем пара недель отпуска. В условиях жестких временных рамок, желания получить быстрый результат я остановился на эмуляции Nintento Gameboy. Активное сообщество, популярность и долгая жизнь консоли привели к появлению огромного количества открытых ресурсов, которые делают возможным получить быстрый и наглядный результат. Например, на archive.org доступно руководство разработчика (GameBoyProgManVer1.1), а поиск по Github даёт более 8000 репозиториев, так или иначе связанных с данной консолью. https://habr.com/ru/articles/908752/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса) Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак Английский с нуля 🇬🇧 https://max.ru/UchuEnglish 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С https://max.ru/channel_DevLab1C 1С:Предприятие 8 Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика https://max.ru/channel_cpp_geek C++ geek Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Rust📌 https://max.ru/channel_rust_lib Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика https://max.ru/channel_java_geek Java Geek GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии в IT📌 https://max.ru/progjob https://max.ru/channel_rabotait Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Городские📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП https://max.ru/channel_krasnodar_novosty Краснодар Новости https://max.ru/channel_novosibirsk_novosti Новосибирск https://max.ru/channel_samara_novosti Новости Самары https://max.ru/channel_ekaterinburg_novosti Новости Екатеринбурга https://max.ru/channel_kazan_novosti Новости Казани https://max.ru/channel_omsk_novosti Новости Омска https://max.ru/channel_moskva_24 Москва 24

Генерация лабиринтов: алгоритм Эллера Сегодня я хотел бы рассказать о генерации идеального лабиринта — алгоритмом Эллера. Статья подойдёт всем любителям алгоритмов» https://habr.com/ru/articles/667576/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

ggwave — это компактная и переносимая библиотека C/C++ для передачи и приема коротких сообщений с использованием звуковых волн. Она позволяет устройствам обмениваться данными через звук — без необходимости в Bluetooth, Wi-Fi или других беспроводных технологиях. Это особенно полезно для коротких одноразовых взаимодействий между устройствами, которые находятся рядом друг с другом. Поддерживает: * Передачу текста через звук * Возможность генерации и анализа аудиосигналов в реальном времени * Кроссплатформенность: работает на Windows, macOS, Linux, iOS, Android и в браузере (через WebAssembly) Примеры использования: * Аутентификация устройств поблизости * Обмен контактами или ссылками * Синхронизация устройств без интернета https://github.com/ggerganov/ggwave 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

💻 АЦП в ESP32. Оцифровать сигнал, а не "погоду на Марсе". Нюансы, особенности, повышение точности Приглашаем на открытый уро
💻 АЦП в ESP32. Оцифровать сигнал, а не "погоду на Марсе". Нюансы, особенности, повышение точности Приглашаем на открытый урок. 🗓 24 августа в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «Embedded-разработчик». Мы рассмотрим весь пусть сигнала - от датчика до его цифровой формы в микроконтроллере ESP32. Вспомним основные параметры, погрешности АЦП, увидим их влияние "вживую", узнаем, почему иногда теоремы Котельникова недостаточно и что с этим делать? Поговорим о важности источника опорного напряжения, произведем расчет бюджета погрешностей тракта АЦП. Применим калибровку и сравним результаты до\после на АЦП, после чего рассмотрим простые методы фильтрации исходно зашумленных сигналов. Вебинар будет полезен: радиолюбителям, начинающим разработчикам электроники, инженерам-схемотехникам, разработчикам встраиваемого программного обеспечения В результате вебинара слушатели узнают: ✔️ все основные параметры АЦП и смогут увидеть их влияние вживую на примере ESP32 ✔️ особенности и нюансы схемотехники при проектировании тракта АЦП ✔️ что такое "алиасинг" и как его избежать ✔️ как провести обобщенный расчет погрешностей тракта АЦП ✔️ как откалибровать АЦП в ESP32 ✔️ простые методы фильтрации зашумленных сигналов 🔗 Ссылка на регистрацию: https://vk.cc/d0zMbG Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Этот проект содержит исходный код игр Command & Conquer: Tiberian Dawn и Command & Conquer: Red Alert, выпущенных как часть сборника Command & Conquer Remastered Collection. Код распространяется под лицензией GPL v3 и предоставляет возможность энтузиастам и разработчикам модифицировать, изучать и использовать движок в рамках условий лицензии. В проекте используется C++ и множество современных практик разработки, а также система сборки CMake. Репозиторий включает: * Исходный код движка на C++ * Документацию по сборке * Скрипты для интеграции с игрой * Исторический контекст разработки Проект ориентирован на обучение, поддержку моддинга и развитие сообщества вокруг классических RTS-игр. https://github.com/electronicarts/CnC_Remastered_Collection 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

Пишем на С++ вектор, умеющий расширяться без копирования элементов В языке С есть функции malloc, free и realloc. При использ
Пишем на С++ вектор, умеющий расширяться без копирования элементов В языке С есть функции malloc, free и realloc. При использовании последней вы можете написать этакий расширяющийся массив из примитивных типов или структур (классов-то нет), который, можно надеяться, не будет копировать все данные при каждом расширении. В С++ есть встроенный класс vector, который представляет из себя расширяющийся массив, но он так не умеет: при каждом расширении вектора выделяется новый участок памяти и все элементы перемещаются на него (по возможности, с использованием move-семантики). Но ведь, если можно каждый раз не копировать все старые элементы на новое место, вектор должен работать быстрее? В этой статье я попробую написать вектор, который умеет расширяться без копирования элементов. Сначала я покажу, что стандартный вектор не умеет расширяться без копирования/перемещения, потом обсужу придуманное решение, потом собственно приведу реализацию вектора, а в конце сравню производительность со стандартным вектором. https://habr.com/ru/post/701784/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

🚀 CUTE_HEADERS - Коллекция кроссплатформенных однофайловых библиотек на C/C++ без зависимостей, в основном используемых для
🚀 CUTE_HEADERS - Коллекция кроссплатформенных однофайловых библиотек на C/C++ без зависимостей, в основном используемых для разработки игр. 🔹 Математика (векторы, матрицы) 🔹 Системы частиц 🔹 Аудио и таймеры 🔹 Работа с файлами 🔹 Простая физика и коллизии 🔹 Анимация и графика 🔹 И многое другое! Все библиотеки — в одном .h файле, без зависимостей. Отлично подходят для маленьких проектов, прототипов и учебных задач. https://github.com/RandyGaul/cute_headers 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

Линус Торвальдс: Критика C++ — Комплексный анализ Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой
Линус Торвальдс: Критика C++ — Комплексный анализ Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим. В чем причина неприятия C++? Давайте рассмотрим аргументы, которые Линус приводит против его использования. C и C++ очень похожи друг на друга, но все‑таки это не одно и то же. C++ является объектно‑ориентированной версией C. Некоторые даже называют его преемником C. Однако C++ представляет из себя скорее расширение языка C, нежели его полноценную замену. Он добавляет такие функции, как объекты, конструкторы, деструкторы, шаблоны, обработка исключений, пространства имен и перегрузка операторов. Эти расширения приносят с собой свои собственные парадигмы и проблемы. Неудивительно, что все технические аргументы Линуса против C++ связаны именно с этими расширениями. https://habr.com/ru/companies/otus/articles/902724/ original https://medium.com/@jankammerath/linus-torvalds-critique-of-c-a-comprehensive-review-ea8374084abf 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

Практика языка C (МФТИ, 2023-2024). Допсеминар: системы сборки (make, cmake). 00:00 Зависимости и хедера 08:22 Build.sh 11:48 Makefiles и декларативная модель 19:51 Ленивые и переменные 30:52 Автоматические переменные 36:15 Первая версия makefile 41:33 Функции и wildcards 47:40 Вторая версия makefile и зависимости от хедеров 56:36 Третья итерация: почти идеальный makefile 01:06:26 Знакомство с cmake 01:19:35 Бонус. Немного больше про cmake. 01:30:40 Окончательные уроки. источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса) Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак Английский с нуля 🇬🇧 https://max.ru/UchuEnglish 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С https://max.ru/channel_DevLab1C 1С:Предприятие 8 Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика https://max.ru/channel_cpp_geek C++ geek Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Rust📌 https://max.ru/channel_rust_lib Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика https://max.ru/channel_java_geek Java Geek GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии в IT📌 https://max.ru/progjob https://max.ru/channel_rabotait Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Городские📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП https://max.ru/channel_krasnodar_novosty Краснодар Новости https://max.ru/channel_novosibirsk_novosti Новосибирск https://max.ru/channel_samara_novosti Новости Самары https://max.ru/channel_ekaterinburg_novosti Новости Екатеринбурга https://max.ru/channel_kazan_novosti Новости Казани https://max.ru/channel_omsk_novosti Новости Омска https://max.ru/channel_moskva_24 Москва 24

Сборка проектов Си и Си++: от простого к сложному. Часть II. Сборщики Продолжаю тему о сборке проектов на Си и Си++, первая ч
Сборка проектов Си и Си++: от простого к сложному. Часть II. Сборщики Продолжаю тему о сборке проектов на Си и Си++, первая часть которой размещена здесь. Рецепты сборки по правилам хорошего тона должны поставляться с проектом и очень желательно, чтобы они не были привязаны к конкретной ОС или хотя бы к конкретному дистрибутиву Linux, используя специфические команды вроде apt-get, yum, emerge. Если это небольшой пет-проект выходного дня, то, конечно, в качестве рецепта сгодится и bash-скрипт. Пользователи адаптируют. Но если к проекту подключаются другие разработчики, то лучше потратить время на автоматизацию сборки, чтобы не терять его оптом в будущем. В этой части речь пойдёт об инструментах, которые используются для автоматизации процесса сборки программного обеспечения. https://habr.com/ru/companies/ruvds/articles/875620/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

📲 Мы в MAX #cpp #programming 👉 @cpp_lib
📲 Мы в MAX #cpp #programming 👉 @cpp_lib

💻 Тайный язык общения чипов. Подключаем всё к ESP32 Приглашаем на открытый урок. 🗓 12 августа в 20:00 МСК 🆓 Бесплатно. Уро
💻 Тайный язык общения чипов. Подключаем всё к ESP32 Приглашаем на открытый урок. 🗓 12 августа в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «Embedded-разработчик». Что будет на вебинаре? ✔️ Познакомимся с современными возможностями высокоскоростного обмена данными с микроконтроллерами, с периферийными устройствами, в которых применяется интерфейс/протокол SPI. ✔️ Изучим устройство и особенности программирования самого скоростного и эффективного способа передачи данных между (микроконтроллерными) устройствами при помощи встроенных в ESP32 аппаратных контроллеров SPI. ✔️ Разберем, как воспользоваться драйвером файловой системы RTOS не проиграв в производительности, померяем скорость обмена с реальными устройствами. ✔️ Соберем «квази-компьютер» с диском и экраном (SD-картой и LCD-дисплеем) 🔗 Ссылка на регистрацию: https://vk.cc/d0duHH Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Сборка проектов Си и Си++: от простого к сложному. Часть I. Библиотеки Каждый раз, в течение многих лет, собирая пилотную вер
Сборка проектов Си и Си++: от простого к сложному. Часть I. Библиотеки Каждый раз, в течение многих лет, собирая пилотную версию мизерного проекта или простой утилиты, мне кажется, что уж в этот раз точно обойдусь обычным скриптом для сборки, и никакие сборщики проекта мне не понадобятся. Но суровая реальность приводит меня в чувство уже в течение первых нескольких минут работы. Сначала оказывается, что до невозможности простая программка нуждается в JSON-парсере, HTTP-запросах CURL и прочих библиотеках. А по мере возбуждения хотелок эти все зависимости нарастают как снежный ком. И все мечты быстро скомпилировать страничку кода встречают на каждом шаге всё новые и новые проблемы. Вот сегодня и расскажу о том, какие бывают способы борьбы с зависимостями и сборки проекта из множества файлов на Си++. Заодно те, кто не любят Си++, смогут порадоваться «прелестям» этого процесса. И хоть тема очень важная для программистов, но я обратил внимание, что даже многолетний опыт не гарантирует понимания этих процессов. Но сразу предупреждаю — история длинная даже с учетом всех попыток не убегать на смежные темы. https://habr.com/ru/companies/ruvds/articles/871940/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

Можно ли навсегда избавиться от утечек памяти из-за циклических ссылок? В комментариях к статье в очередной раз услышал мнени
Можно ли навсегда избавиться от утечек памяти из-за циклических ссылок? В комментариях к статье в очередной раз услышал мнение, что поскольку невозможно в принципе гарантировать отсутствие циклических ссылок при статическом анализе кода, то в языке Rust утечки памяти из-за циклических ссылок считаются безопасными, так это не влияет на безопасное управление памятью. При работе с памятью существует много типов ошибок, но единственные ошибки, которые до сих пор не имеют нормального способа решения, это утечки памяти из-за циклических ссылок, когда два или более объектов напрямую или косвенно ссылаются друг на друга, в результате чего доступная приложению оперативная память постепенно уменьшается, так как ее невозможно освободить автоматически. Утечки памяти из-за циклических ссылок являются наиболее сложными для анализа. В то время как для всех остальных типов ошибок при работе с памятью уже найдены и используются различные решения, например на уровне языка программирования, с помощью сборщиков мусора, проверки заимствований или шаблонов библиотек, то проблема утечек памяти из-за циклических ссылок остается нерешенной и по сей день. Но мне кажется, что есть очень простой способ устранить циклические ссылки в программе, который можно реализовать практически в любом типизированном языке программирования, конечно, если при этом не использовать все разрешающее ключевое слово unsafe для Rust или оператор reinterpret_cast в случае С++. https://habr.com/ru/users/rsashka/articles/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

В C++23 std::stacktrace упрощает вывод стека вызовов, избавляя от необходимости использовать платформозависимые API и снижая
В C++23 std::stacktrace упрощает вывод стека вызовов, избавляя от необходимости использовать платформозависимые API и снижая дублирование работы между различными платформами. https://en.cppreference.com/w/cpp/utility/basic_stacktrace 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

+7
Лекции С++ продвинутый поток ФПМИ 2023-24 Лекция 1. Введение в язык C++. Основные типы и операции над ними Лекция 2. Основные команды в терминале. Компиляция программ Лекция 3. Объявления и определения, области видимости, пространства имен Лекция 4. Выражения и операторы. Управляющие конструкции Лекция 5. Compile-time errors, runtime errors, undefined behavior Лекция 6. Указатели Лекция 7. Стековая, статическая и динамическая память Лекция 8. Массивы, функции и указатели на функции источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

ИИ-зрение: как строить карту сцены по данным камер — детекция, трекинг, локализация Открытый урок курса «Компьютерное зрение.
ИИ-зрение: как строить карту сцены по данным камер — детекция, трекинг, локализация Открытый урок курса «Компьютерное зрение. Экспертный уровень». На вебинаре разберём прикладные аспекты построения структурированного представления окружающего мира на основе видеопотока и сенсорных данных. Рассмотрим, как системы искусственного интеллекта из последовательности кадров извлекают объекты, глубину, движение и пространственные связи для картографирования. Программа: - источники данных для построения карты сцены и методы их агрегации; - сочетание детекции, сегментации, трекинга и оценки движения камеры в единой последовательности алгоритмов; - практические ограничения ИИ-решений: шум, динамические объекты, изменение освещения, погрешности и требования к точности. 👨🏻‍💻 Для кого: - специалисты по компьютерному зрению с опытом 1–3 года, углубляющие прикладные навыки; - разработчики, переходящие от отдельных задач компьютерного зрения к комплексным системам на базе ИИ; - Python-инженеры с опытом работы с нейросетями. Результат: понимание этапов формирования машинного представления сцены, взаимосвязей между восприятием, локализацией и построением карты. Эти знания применимы в беспилотном транспорте, робототехнике, навигации и видеоаналитике. Участвовать бесплатно https://vk.cc/cZYmTs Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576