Библиотека C/C++ разработчика
6.81K subscribers
655 photos
690 videos
8 files
940 links
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Download Telegram
Джон Кармак о функциональном программировании на C++

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

http://sevangelatos.com/john-carmack-on/

#cpp #programming

👉 @cpp_lib
👍5
Отладчик CMake позволяет отлаживать ваши скрипты CMake и многое другое

Команда VS CMake работала в тесном сотрудничестве с Kitware над разработкой отладчика для скриптов CMake в IDE Visual Studio (подробнее см. этот открытый вопрос Kitware). Мы будем выкладывать эту работу обратно в поток (ориентируясь на релиз 3.27), чтобы сообщество разработчиков могло получить ее и вместе работать над ее улучшением, добавляя новые функции и поддержку дополнительных возможностей DAP.

Мы рады сообщить, что предварительная версия отладчика CMake теперь доступна для отладки ваших скриптов CMake и файла CMakeLists.txt для любого проекта CMake в Visual Studio 17.6 Preview 1.

Чтобы инициировать сеанс отладки CMake, вы можете выбрать "Configure [Project Name] with CMake Debugger" из контекстного меню при щелчке правой кнопкой мыши на файле CMakeLists.txt в Solution Explorer или из выпадающего меню "Project".

https://devblogs.microsoft.com/cppblog/cmake-debugger-allows-you-to-debug-your-cmake-scripts-and-more/


#cpp #programming

👉 @cpp_lib
👍3🥴1
Взаимодействие между процессами на С++ и PHP. Сокеты, семафоры и разделяемая память

Хочу рассказать о своём практическом опыте реализации взаимодействия между процессами в среде Linux и попытках сделать обмен максимально возможно эффективным. Сравним разные виды сокетов, задействуем примитивы синхронизации между процессами и мельком глянем, что ещё нам предлагает операционная система.

По условию, один из процессов написан на C++, второй на PHP, потому дополнительно мы рассмотрим доступность соответствующих API из PHP а также что делать, когда для нужного API PHP-обёртка отсутствует. Хотя предложенный подход не ограничивается конкретно этими языками и может быть применён для организации обмена между приложениями, реализованными на более-менее любом языке.

https://habr.com/ru/post/720126/

#cpp #programming

👉 @cpp_lib
👍31
Media is too big
VIEW IN TELEGRAM
Разбор кода игры Super Mario на языке C++ (9 шагов по созданию этой игры)

00:00 Начало
00:17 Шаг 1: Создание игрока
01:48 Шаг 2: Создание платформера
07:03 Шаг 3: Создание флажка
08:26 Шаг 4: Поставить изображение frend
08:57 Шаг 5: Добавления надписей для уровня
11:25 Шаг 6: Добавления врагов
16:45 Шаг 7: Добавление урона и возрождение игрока
19:13 Шаг 8: Добавление меню
23:31 Шаг 9: Добавление музыки и звуки
26:43 Игра готова

Ссылки на картинки и звуки
Ссылка на код

источник

#cpp #programming

👉 @cpp_lib
🔥7
Media is too big
VIEW IN TELEGRAM
Сайт на чистом C++, nginx и FastCGI

Появилась идея разработать минималистичную систему управления блогом на чистом C++. Сегодня мы создадим сервер, развернем простейший сайт на nginx и начнем работать с FastCGI, чтобы обрабатывать HTTP запросы в своем коде на C++.

Репозиторий проекта: https://github.com/staspiter/fastcgi-blog

#cpp #programming

👉 @cpp_lib
👍7👏1
Корутины в UnrealEngine

На дворе уже 2023 год, а значит пора использовать новшества C++20 и в геймдеве по полной.

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

Статья ориентирована на любознательных разработчиков гейм индустрии, работающих в UnrealEngine. Не важно, имели ли вы какой-либо опыт с сопрограммами ранее. Я хочу показать как с этим работать в этом прекрасном игровом движке, ведь в том же Unity давно существует подобное и является довольно ходовым инструментом.

https://habr.com/ru/articles/720868/

#cpp #programming

👉 @cpp_lib
👍2
Работа со строками в Embedded C++

В этом посте под словом Embedded я обычно подразумеваю глубоко встраиваемые/бесплатные системы, а не встраиваемые системы на базе Linux.

https://blog.feabhas.com/2022/02/working-with-strings-in-embedded-c/

#cpp #programming

👉 @cpp_lib
👍4
Ловим утечки памяти в С/С++

Сегодня я хочу немного приоткрыть свет над тем, как бороться с утечкой памяти в Си или С++.

На Хабре уже существует две статьи, а именно: Боремся с утечками памяти (C++ CRT) и Утечки памяти в С++: Visual Leak Detector. Однако я считаю, что они недостаточно раскрыты, или данные способы могут не дать нужного вам результата, поэтому я хотел бы по возможности разобрать всем доступные способы, дабы облегчить вам жизнь.

https://habr.com/ru/articles/480368/

#cpp #programming

👉 @cpp_lib
👍4
Упрощаем код с помощью if constexpr и концептов C++17/C++20

До C++17 у нас было несколько довольно уродливых способов написания статических if (если это работает во время компиляции). Например, вы могли использовать диспетчеризацию тегов или SFINAE. К счастью, ситуация изменилась, и теперь мы можем воспользоваться if constexpr и концепциями из C++20!

https://www.cppstories.com/2018/03/ifconstexpr/

#cpp #programming

👉 @cpp_lib
👍41
Дорожная карта навыков разработчика на C++

В этой статье мы с помощью карты покажем, какие навыки и знания нужны разработчику на C++. Естественно, разбирать путь развития «плюсистов» будем на собственном примере — тем более что у нас в «Лаборатории Касперского» много очень разных проектов с отличающимися задачами. Однако наша карта по большей части универсальна и будет полезна всем, кто хочет развиваться в разработке на C++.

https://habr.com/ru/specials/726724/

#cpp #programming

👉 @cpp_lib
👍6