Библиотека C/C++ разработчика
7.2K subscribers
686 photos
719 videos
8 files
983 links
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
加入频道
С++ с нуля

1 - переменные, оператор присваивания
2 - арифметические операции
3 - директивы препроцессора
4 - условные операторы if и switch
5 - операторы циклов while, for и do while
6 - массивы, метод всплывающего пузырька
7 - строки и функции работы с ними
8 - функции: прототипы, перегрузка, рекурсия
9 - области видимости переменных, статические переменные
10 - битовые операции И, ИЛИ, НЕ, XOR и сдвиговые операции

#cpp #programming

👉 @cpp_lib
👍8
Просто о сложном — пишем тесты с Google C++ Testing Framework (GTest, GMock)

Всем привет. Недавно по работе возникла потребность разобраться с созданием новых тестов на GTest/GMock. Конкретно мой вопрос был связан с его конструкциями типа EXPECT_CALL и моками - что это за магические штуки и как они работают? Однако, по мере изучения выяснились и другие интересные вещи, с которыми хотел бы поделиться.

#cpp #programming

👉 @cpp_lib
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Приложение для аудиозвонков с регулировкой звука, как в реальной жизни

Распространенная в пандемию ситуация: общаетесь с друзьями или коллегами по Zoom, несколько человек начинают говорить одновременно и… разобрать хоть что-то не представляется возможным. Эта проблема натолкнула нас на идею написать свое приложение для аудиозвонков, где громкость регулируется весьма необычным образом. У каждого пользователя есть свой аватар — кружок на плоскости, который управляется перетаскиванием. Чем ближе аватары пользователей на экране, тем громче они друг друга слышат. Работает ли это? В целом да. Рассказываем, что у нас получилось.

#cpp #programming

👉 @cpp_lib
👍5
NanoBoyAdvance - высокоточный эмулятор Nintendo Game Boy Advance.

https://www.libhunt.com/r/NanoBoyAdvance

#cpp #programming

👉 @cpp_lib
👍3
Пользовательские типы и std::format в C++20

https://www.cppstories.com/2022/custom-stdformat-cpp20/

#cpp #programming

👉 @cpp_lib
👍4
Media is too big
VIEW IN TELEGRAM
Запись конференции THE CANADIAN C++ CONFERENCE CppNorth 2022

Carbon Language: An experimental successor to C++ - Chandler Carruth
Quadrable - Doug Hoyte
Keynote: "Am I A Good Programmer?" - Kate Gregory
The Power Of Compile-Time Resources - Jason Turner
Programming for Warm Days: Avoiding Dangerous Conversions - Patrice Roy
OLD VERSION: Building Abstractions at the Hardware-software Boundary - Andrew Bitar & Aidan Wood
C++ Lambda Idioms - Timur Doumler
Cute C++ Tricks (and what you can learn from them): Part 2 of N - Daisy Hollman
Value Oriented Programming. Part 1: You Say You Want To Write A Function - Tony Van Eerd CppNorth 22
Lessons Learned From Porting LibreOffice's Build System To Meson - Jussi Pakkanen
...

По ссылке ниже доступно 33 видео
https://www.youtube.com/playlist?list=PLpGV-BujcAKFVCWOBj2548vuxJ1lV5w6-

#cpp #programming

👉 @cpp_lib
👍3
Оптимизация GUI на Qt

Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленностью работы GUI. Qt – платформа достаточно надежная, неплохо вылизанная по всем параметрам, в том числе и по скорости работы. Однако всё же иногда бывают ситуации, когда из-за обилия виджетов графический интерфейс немного притормаживает, и это печально). В этой статье я приведу один частный пример простого графического интерфейса и покажу, как за два шага можно сначала ускорить его в 11 раз, а потом и в целых 34 раза. Вдобавок к этому, я постараюсь немного осветить механизм принятия решения для таких оптимизационных задач, постараюсь показать направление мыслей для правильного решения. Поехали!

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

#cpp #programming

👉 @cpp_lib
👍6👎1
nocc — распределённый компилятор для гигантских проектов на С++

У нас есть задача постоянно компилировать тонны плюсового кода. Наш проект — почти 200 000 cpp- и h-файлов, множество Git-веток, сотни разработчиков, десятки билд-агентов: его нельзя единожды скомпилировать, приходится перекомпилировать постоянно, параллельно, разные версии.

В итоге мы написали замену distcc — компилятор nocc. Он не имеет никакого отношения к PHP и даже к KPHP, а просто предназначен для компиляции .cpp → .o в промышленных масштабах.

Это техническая статья про параллелизацию, демоны и специфику С++. Ссылки на GitHub и видео приложу в конце статьи.

https://habr.com/ru/company/vk/blog/694536/

#cpp #programming

👉 @cpp_lib
👍4👏1
Cpace – инструмент, который помогает разрабатывать приложения на основе [.c] и [.cpp], автоматически перезапуская их при обнаружении изменений в файлах

Пакет был создан для автоматизации компиляции и запуска файлов .exe при написании приложений C/C++.

https://github.com/Oleshkooo/npm-cpace

#cpp #programming

👉 @cpp_lib
👍3🔥1
ANPR_System – система автоматического распознавания автомобильных номеров России

https://github.com/KostyaKulakov/Russian_System_of_ANPR

👉 @Githublib
👍6