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

Эта книга — результат многолетнего опыта построения IT-продуктов. И прежде всего она о том, как выстроить процессы разработки IT-систем таким образом, чтобы успевать вовремя подстроиться под любые изменения.

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

Сайт издания

Ознакомиться с книгой
👍2
Настраиваем QtCreator для полноценного программирования и отладки микроконтроллеров STM32

На данный момент я активно осваиваю разработку ПО для STM32 и хотел бы поделиться моим опытом.
Как известно, для STM32 имеется много сред для разработки, однако часть из них, несмотря на удобность, имеют ограничения по использованию в случае пробной версии. Так, для IAR размер прошивки ограничивается 32 кБ, что весьма немного.

В данной публикации будет рассмотрен способ настройки окружения для полноценной разработки и отладки ПО для микроконтроллеров STM32 в среде QtCreator.

Прежде всего, определимся, что нам понадобится для проведения экспериментов.

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

👉 @cpp_lib
👍2🔥2
Неклассические контейнеры в C++

Контейнер - это объект, используемый для хранения других объектов. Контейнер берет на себя управление всей памятью, которые эти объекты занимают.

В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контейнеров, которые покрывают больше юзкейсов. Я опишу устройство интересных контейнеров вне STL1 и их отличия от классических контейнеров.

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

👉 @cpp_lib
👍7
Компиляция карт для Half-Life 1 на ТВ-приставке

Я уже не первый год занимаюсь моддингом легендарной Half-Life 1, и как-то совершенно спонтанно мне пришла в голову мысль, дескать, как было бы прикольно иметь возможность компилировать карты на какой-нибудь платформе, отличной от привычных всем x86 и amd64. Затем я вспомнил, что у меня дома есть ТВ-приставка на базе Android, которую в теории можно было бы приспособить для этих дел. Если возможность есть, значит обязательно нужно провести такой эксперимент!

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

👉 @cpp_lib
👍3😨1
#1 Бьерн Страуструп: Почему я создал C++ (перевод) | Bjarne Stroustrup: Why I Created C++

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

#2 Бьерн Страуструп: Музыка и программирование, Работа ночью, Лучший ноутбук

Перевод интервью с Бьерном Страуструпом 2011 года, в котором он рассказывает как он работает, какой ноутбук использует и почему Windows нравится ему больше, чем Linux. Что предпочитает работать днем и любит слушать музыку определенных жанров во время работы.

👉 @cpp_lib
👍5
std::conditional_variable и std::atomic_flag в С++20

Основная идея статьи - сравнить производительность std::conditional_variable и std::atomic_flag::wait из С++20, посмотреть примеры использования.

Когда встает вопрос об ожидании какого-то события/событий, то одно из первых что приходит на ум - это std::conditional_variable. Согласно cppreference:

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

👉 @cpp_lib
👍2🔥1
Пишем игру змейка (Snake) на C++ (+архив)

Управление змейкой клавишами управления курсором. Esc — завершение игры. Для выхода из игры надо нажать Esc или клавишу N на вопрос «Once more?». Змейка не должна натыкаться на стенки и на собственный хвост. Это — смерть. Змейка не умеет ползать хвостом вперёд. Попытаться заставить её это сделать — верная смерть. Кормить змейку надо, естественно, долларами. Когда змейка ест, она растёт.

Программа написана для Windows 2000 Professional (и выше). Для переноса под другие операционки необходимо переписать реализацию класса CScreen и иметь порт библиотеки conio.h.

https://itmozg.ru/pishem-igru-zmejka-snake-na-c/

👉 @cpp_lib
👍6